// Oleg Petruny proprietary.

#pragma once

#include "UObject/Object.h"

#include "ContentLoader.generated.h"

UCLASS(BlueprintType)
class UContentLoader : public UObject
{
    GENERATED_BODY()

public:
    UFUNCTION(BlueprintCallable, Category = "ContentLoader")
    UClass* LoadPak(const FString& pakFilePath);

protected:
    virtual void BeginDestroy() override;

    UFUNCTION(BlueprintCallable, Category = "ContentLoader")
    bool UnloadPak(const FString& pakFilePath);

protected:
    FString GetPakMountContent(const FString& pakFilePath, TArray<FString>* content = nullptr);
    UClass* GetPakClass(const FString& pakContentPath);
};
