You've already forked LuckyWorld
Optimizing WB_GameWidget
This commit is contained in:
@ -177,47 +177,12 @@ void UMainScreenUserWidget::UpdateSelectQuality()
|
||||
BPUpdateSelectQuality();
|
||||
}
|
||||
|
||||
FParsedData UMainScreenUserWidget::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 UMainScreenUserWidget::OnMessageDispatchedHandler(const FString& Message)
|
||||
{
|
||||
ULuckyRobotsGameInstance* GameInstance = Cast<ULuckyRobotsGameInstance>(GetGameInstance());
|
||||
if (GameInstance)
|
||||
{
|
||||
FParsedData ParsedData = DoJsonParse(Message);
|
||||
FParsedData ParsedData = GameInstance->DoJsonParse(Message);
|
||||
if (ParsedData.CharacterName == "DRONE")
|
||||
{
|
||||
GameInstance->CurrentSelectRobot = ERobotsName::LuckyDrone;
|
||||
|
Reference in New Issue
Block a user