UE4-【C++】【打包NonUASSET文件并加载】

UE4-【C++】【打包NonUASSET文件并加载】

https://blog.csdn.net/yuxikuo_1/article/details/103981774

使用自定义IO操作,将目标文件(txt)放在Content

1.设置附加打包目录

    void UMyBlueprintFunctionLibrary::ExecuteTestCode(const FString &InPaksDir)
    {
        UMyBlueprintFunctionLibrary::ShowGameDir();
        FString read_str;
        bool is_load = UMyBlueprintFunctionLibrary::LoadTxt("Datas/TbHero.txt", read_str);
        if (is_load)
        {
            UE_LOG(LogTemp, Log, TEXT("read_str = %s"), *read_str);
        }
        return;
        FString PaksDir = InPaksDir;
        FPaths::MakeStandardFilename(PaksDir);
        UE_LOG(LogMyBPLibrary, Log, TEXT("ExecuteTestCode InPaksDir: %s"), *PaksDir);
     
        {
            FMyFileVisitor MyFileVisitor;
            FPlatformFileManager::Get().GetPlatformFile().IterateDirectoryRecursively(*PaksDir, MyFileVisitor);
     
            for (auto &f : MyFileVisitor.Files)
            {
                if (FPaths::GetExtension(f) == "pak")
                {
                    UE_LOG(LogMyBPLibrary, Log, TEXT("Find and mount pak file: %s"), *f);
                    GetPakPlatformFile()->Mount(*f, 0);
                }
            }
        }
    }
     
     
    bool UMyBlueprintFunctionLibrary::LoadTxt(FString FileNameA, FString& SaveTextA)
    {
        const FString ThePath = FPaths::ConvertRelativePathToFull(FPaths::GameContentDir());
        UE_LOG(LogTemp, Log, TEXT("TbHero Path = %s"), *(ThePath + FileNameA));
        return FFileHelper::LoadFileToString(SaveTextA, *(ThePath + FileNameA));
    }
     
     
    bool UMyBlueprintFunctionLibrary::SaveTxt(FString SaveTextB, FString FileNameB)
    {
        return FFileHelper::SaveStringToFile(SaveTextB, *(FPaths::GameDir() + FileNameB));
    }

    点赞
    收藏
    分享

————————————————
版权声明:本文为CSDN博主「little_two_two」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuxikuo_1/article/details/103981774

发布了80 篇原创文章 · 获赞 38 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/kuangben2000/article/details/104330528