You've already forked LuckyWorld
Optimize code to unreal style
This commit is contained in:
@ -9,28 +9,28 @@
|
||||
|
||||
ULuckyRobotsGameInstance* ULuckyRobotsFunctionLibrary::GetLuckyRobotsGameInstance(const UObject* WorldContextObject)
|
||||
{
|
||||
return Cast<ULuckyRobotsGameInstance>(WorldContextObject->GetWorld()->GetGameInstance());
|
||||
if (WorldContextObject && WorldContextObject->GetWorld())
|
||||
{
|
||||
return Cast<ULuckyRobotsGameInstance>(WorldContextObject->GetWorld()->GetGameInstance());
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TArray<FRobotData> ULuckyRobotsFunctionLibrary::GetActiveRobotDataList(const UObject* WorldContextObject)
|
||||
{
|
||||
TArray<FRobotData> RobotDataList;
|
||||
ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
|
||||
if (LuckyRobotsGameInstance)
|
||||
if (ULuckyRobotsGameInstance* GameInstance = GetLuckyRobotsGameInstance(WorldContextObject))
|
||||
{
|
||||
if (LuckyRobotsGameInstance->RobotDataDataTable)
|
||||
if (GameInstance->RobotDataDataTable)
|
||||
{
|
||||
FString ContextString;
|
||||
TArray<FName> RowNames = LuckyRobotsGameInstance->RobotDataDataTable->GetRowNames();
|
||||
for (auto RowString : RowNames)
|
||||
TArray<FName> RowNames = GameInstance->RobotDataDataTable->GetRowNames();
|
||||
for (const FName& RowName : RowNames)
|
||||
{
|
||||
FRobotData* pRow = LuckyRobotsGameInstance->RobotDataDataTable->FindRow<FRobotData>(FName(RowString), ContextString);
|
||||
if (pRow)
|
||||
FRobotData* pRow = GameInstance->RobotDataDataTable->FindRow<FRobotData>(RowName, ContextString);
|
||||
if (pRow && pRow->bActive)
|
||||
{
|
||||
if (pRow->bActive)
|
||||
{
|
||||
RobotDataList.Add(*pRow);
|
||||
}
|
||||
RobotDataList.Add(*pRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -41,22 +41,18 @@ TArray<FRobotData> ULuckyRobotsFunctionLibrary::GetActiveRobotDataList(const UOb
|
||||
TArray<FLevelData> ULuckyRobotsFunctionLibrary::GetActiveLevelDataList(const UObject* WorldContextObject)
|
||||
{
|
||||
TArray<FLevelData> LevelDataList;
|
||||
ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
|
||||
if (LuckyRobotsGameInstance)
|
||||
if (ULuckyRobotsGameInstance* GameInstance = GetLuckyRobotsGameInstance(WorldContextObject))
|
||||
{
|
||||
if (LuckyRobotsGameInstance->LevelDataTable)
|
||||
if (GameInstance->LevelDataTable)
|
||||
{
|
||||
FString ContextString;
|
||||
TArray<FName> RowNames = LuckyRobotsGameInstance->LevelDataTable->GetRowNames();
|
||||
for (auto RowString : RowNames)
|
||||
TArray<FName> RowNames = GameInstance->LevelDataTable->GetRowNames();
|
||||
for (const FName& RowName : RowNames)
|
||||
{
|
||||
FLevelData* pRow = LuckyRobotsGameInstance->LevelDataTable->FindRow<FLevelData>(FName(RowString), ContextString);
|
||||
if (pRow)
|
||||
FLevelData* pRow = GameInstance->LevelDataTable->FindRow<FLevelData>(RowName, ContextString);
|
||||
if (pRow && pRow->bActive)
|
||||
{
|
||||
if (pRow->bActive)
|
||||
{
|
||||
LevelDataList.Add(*pRow);
|
||||
}
|
||||
LevelDataList.Add(*pRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -66,14 +62,11 @@ TArray<FLevelData> ULuckyRobotsFunctionLibrary::GetActiveLevelDataList(const UOb
|
||||
|
||||
void ULuckyRobotsFunctionLibrary::UpdateQualitySettings(const UObject* WorldContextObject)
|
||||
{
|
||||
ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
|
||||
if (LuckyRobotsGameInstance)
|
||||
if (ULuckyRobotsGameInstance* GameInstance = GetLuckyRobotsGameInstance(WorldContextObject))
|
||||
{
|
||||
// Load game user settings and apply
|
||||
UGameUserSettings* GameUserSettings = GEngine->GetGameUserSettings();
|
||||
if (GameUserSettings)
|
||||
if (UGameUserSettings* GameUserSettings = GEngine->GetGameUserSettings())
|
||||
{
|
||||
GameUserSettings->SetOverallScalabilityLevel(int(LuckyRobotsGameInstance->CurrentSelectQuality));
|
||||
GameUserSettings->SetOverallScalabilityLevel(static_cast<int32>(GameInstance->CurrentSelectQuality));
|
||||
GameUserSettings->SaveSettings();
|
||||
GameUserSettings->ApplySettings(true);
|
||||
}
|
||||
@ -90,14 +83,12 @@ FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings(const UObj
|
||||
DefaultCaptureSetting.NumberOfObjects = FText::FromString("1");
|
||||
DefaultCaptureSetting.NumberOfCaptures = FText::FromString("1");
|
||||
|
||||
USG_CaptureSetting* SaveGame = nullptr;
|
||||
SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0));
|
||||
USG_CaptureSetting* SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0));
|
||||
if (SaveGame)
|
||||
{
|
||||
ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
|
||||
if (LuckyRobotsGameInstance)
|
||||
if (ULuckyRobotsGameInstance* GameInstance = GetLuckyRobotsGameInstance(WorldContextObject))
|
||||
{
|
||||
LuckyRobotsGameInstance->CurrentCaptureSettingsData = SaveGame->CaptureSetting;
|
||||
GameInstance->CurrentCaptureSettingsData = SaveGame->CaptureSetting;
|
||||
}
|
||||
return SaveGame->CaptureSetting;
|
||||
}
|
||||
@ -116,22 +107,19 @@ FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings(const UObj
|
||||
|
||||
void ULuckyRobotsFunctionLibrary::SaveCaptureSettings(const UObject* WorldContextObject, FCaptureSettingsData CaptureSetting)
|
||||
{
|
||||
ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject);
|
||||
if (LuckyRobotsGameInstance)
|
||||
if (ULuckyRobotsGameInstance* GameInstance = GetLuckyRobotsGameInstance(WorldContextObject))
|
||||
{
|
||||
LuckyRobotsGameInstance->CurrentCaptureSettingsData = CaptureSetting;
|
||||
GameInstance->CurrentCaptureSettingsData = CaptureSetting;
|
||||
}
|
||||
|
||||
USG_CaptureSetting* SaveGame = nullptr;
|
||||
SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0));
|
||||
USG_CaptureSetting* SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0));
|
||||
if (!SaveGame)
|
||||
{
|
||||
SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::CreateSaveGameObject(USG_CaptureSetting::StaticClass()));
|
||||
}
|
||||
|
||||
if (SaveGame)
|
||||
{
|
||||
SaveGame->CaptureSetting = CaptureSetting;
|
||||
UGameplayStatics::SaveGameToSlot(SaveGame, "SGCaptureSettings", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user