Optimizing WB_GameWidget

This commit is contained in:
martinluckyrobots
2025-04-10 13:30:13 +08:00
parent 55fabb31e8
commit d188cb846e
15 changed files with 99 additions and 39 deletions

View File

@ -344,6 +344,41 @@ void ULuckyRobotsGameInstance::GetMessageParse(FString Json)
}
}
FParsedData ULuckyRobotsGameInstance::DoJsonParse(const FString& JsonString)
{
FParsedData ParsedData;
auto VaRestSubsystem = CastChecked<UVaRestSubsystem>(USubsystemBlueprintLibrary::GetEngineSubsystem(UVaRestSubsystem::StaticClass()), ECastCheckedType::NullChecked);
if (!VaRestSubsystem)
{
return ParsedData;
}
UVaRestJsonObject* VaRestJsonObject = VaRestSubsystem->ConstructVaRestJsonObject();
if (!VaRestJsonObject)
{
return ParsedData;
}
if (VaRestJsonObject->DecodeJson(JsonString, true))
{
UVaRestJsonObject* TempJsonObject = VaRestJsonObject->GetObjectField("startup_instructions");
if (TempJsonObject)
{
ParsedData.LevelName = TempJsonObject->GetStringField("level");
ParsedData.CharacterName = TempJsonObject->GetStringField("character");
ParsedData.Quality = TempJsonObject->GetStringField("quality");
}
}
else
{
UE_LOG(LogTemp, Error, TEXT("Parse Problem"));
}
return ParsedData;
}
void ULuckyRobotsGameInstance::SetCurrentFolderName(const FString& FolderName)
{
CurrentCaptureSettingsData.FolderName = FText::FromString(FolderName);