Files
BusyRabbit/Plugins/UnrealSharp/Source/UnrealSharpRuntimeGlue/Private/CSGlueGenerator.cpp

28 lines
905 B
C++
Raw Normal View History

#include "CSGlueGenerator.h"
#include "UnrealSharpRuntimeGlue.h"
#include "Logging/StructuredLog.h"
#include "UnrealSharpProcHelper/CSProcHelper.h"
void UCSGlueGenerator::SaveRuntimeGlue(const FCSScriptBuilder& ScriptBuilder, const FString& FileName, const FString& Suffix)
{
const FString Path = FPaths::Combine(FCSProcHelper::GetProjectGlueFolderPath(), FileName + Suffix);
FString CurrentRuntimeGlue;
FFileHelper::LoadFileToString(CurrentRuntimeGlue, *Path);
if (CurrentRuntimeGlue == ScriptBuilder.ToString())
{
// No changes, return
return;
}
if (!FFileHelper::SaveStringToFile(ScriptBuilder.ToString(), *Path))
{
UE_LOGFMT(LogUnrealSharpRuntimeGlue, Error, "Failed to save runtime glue to {0}", *Path);
return;
}
UE_LOGFMT(LogUnrealSharpRuntimeGlue, Display, "Saved {0}", *FileName);
FUnrealSharpRuntimeGlueModule::Get().GetOnRuntimeGlueChanged().Broadcast(this, Path);
}