#pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "UObject/Object.h" #include "GameplayTagContainer.h" #include "AssetsToLoadSettings.h" #include "GDAudio.h" #include "GDCharacterRetirement.h" #include "GDDamageClasses.h" #include "GDDifficulty.h" #include "GDGameStatsTracking.h" #include "GDItemCategoryIDs.h" #include "GDMilestones.h" #include "GDMissionStats.h" #include "GDPerks.h" #include "GDPlayerAndCharacterProgression.h" #include "GDResources.h" #include "GDStats.h" #include "GDTerrainTypes.h" #include "GVisibilityGroups.h" #include "RetirementCostItem.h" #include "Templates/SubclassOf.h" #include "GameData.generated.h" class APlayerCharacter; class UAchievementList; class UAfflictionSettings; class UAsyncManager; class UBEESettings; class UCharacterSettings; class UCommunityGoalSettings; class UDailyDealSettings; class UDamageSettings; class UDanceSettings; class UDeepDiveSettings; class UDifficultySetting; class UDrinkSettings; class UDynamicIconSettings; class UEffectSettings; class UEncounterSettings; class UEnemySettings; class UFSDEventCollection; class UFSDTagSettings; class UFSDTutorialSettings; class UForginSettings; class UGameActivitySettings; class UGameAnimationSettings; class UGlobalMissionSetup; class UHUDVisibilityGroup; class UInventoryList; class UItemSettings; class UItemSkinSettings; class UKeyBindingSettings; class ULegacySettings; class UMinersManual; class UMissionStat; class UPickaxeSettings; class UPlanetZoneSetup; class UPlayerCharacterID; class UProceduralSettings; class UPromotionRewardsSettings; class USaveGameSettings; class USchematicSettings; class USeasonSettings; class UShowroomSettings; class USpawnSettings; class USpecialEventSettings; class UStatusEffectSettings; class UTerrainMaterialSettings; class UTexture2D; class UTreasureSettings; class UUpgradeSettings; class UVanitySettings; class UVictoryPoseSettings; UCLASS(Blueprintable) class FSD_API UGameData : public UObject { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGVisibilityGroups VisibilityGroups; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UPromotionRewardsSettings* PromotionRewardsSettings; protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UFSDEventCollection* FsdEventsSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UGameActivitySettings* GameActivitySettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDanceSettings* DanceSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UGameAnimationSettings* AnimationSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UEnemySettings* EnemySettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDamageSettings* DamageSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UPlanetZoneSetup* ZoneSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTreasureSettings* TreasureSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDrinkSettings* DrinkSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UUpgradeSettings* UpgradeSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) USpawnSettings* SpawnSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVanitySettings* VanitySettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UKeyBindingSettings* KeyBindingSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDeepDiveSettings* DeepDiveSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UBEESettings* BEESettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UEncounterSettings* EncounterSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UForginSettings* ForgingSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) USchematicSettings* SchematicSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UItemSkinSettings* SkinSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) USpecialEventSettings* SpecialEventSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UProceduralSettings* ProceduralSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UPickaxeSettings* PickaxeSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UFSDTagSettings* TagSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UItemSettings* ItemSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDynamicIconSettings* DynamicIconSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UShowroomSettings* ShowroomSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UVictoryPoseSettings* VictoryPoseSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UFSDTutorialSettings* TutorialSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) ULegacySettings* LegacySettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UEffectSettings* EffectSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UAfflictionSettings* AfflictionSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UCommunityGoalSettings* CommunityGoalSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UDailyDealSettings* DailyDealSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTerrainMaterialSettings* TerrainMaterialSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) USaveGameSettings* SaveGameSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDMissionStats MissionStats; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDMilestones Milestones; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDPerks perks; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDItemCategoryIDs ItemCategoryIDs; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray LoadoutIconList; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UMinersManual* MinersManual; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDDamageClasses DamageClasses; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDStats Stats; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDResources Resources; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDTerrainTypes TerrainTypes; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDGameStatsTracking GameStatsTracking; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDAudio audio; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDDifficulty Difficulty; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UStatusEffectSettings* StatusEffects; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDCharacterRetirement Retirement; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGDPlayerAndCharacterProgression PlayerAndCharacterProgression; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UCharacterSettings* CharacterSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UAchievementList* Achievements; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UGlobalMissionSetup* MissionSetup; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) USeasonSettings* SeasonSettings; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UPlayerCharacterID* DefaultCharacterID; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UPlayerCharacterID* DefaultEditorCharacterID; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGameplayTag XBoxExcludeRoomTag; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FAssetsToLoadSettings AssetsToLoad; public: UGameData(); UFUNCTION(BlueprintCallable) void UnloadPreloadedAssets(); UFUNCTION(BlueprintCallable) void LoadDefaultAssetsBlocking(UAsyncManager* AsyncManager); UFUNCTION(BlueprintCallable, BlueprintPure) bool IsCheatConsolesEnabled() const; UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetRankedHeroIDs() const; UFUNCTION(BlueprintCallable, BlueprintPure) FText GetPlayerRankName(int32 Rank) const; UFUNCTION(BlueprintCallable, BlueprintPure) UPlayerCharacterID* GetPlayerCharacterID(const FGuid& ID) const; UFUNCTION(BlueprintCallable, BlueprintPure) UInventoryList* GetInventoryList(UPlayerCharacterID* characterID) const; UFUNCTION(BlueprintCallable, BlueprintPure) UDifficultySetting* GetDifficultySetting(int32 Index) const; UFUNCTION(BlueprintCallable, BlueprintPure) int32 GetDifficultyIndex(UDifficultySetting* NewDifficulty) const; UFUNCTION(BlueprintCallable, BlueprintPure) TSubclassOf GetDefaultEditorCharacter() const; UFUNCTION(BlueprintCallable, BlueprintPure) TSubclassOf GetDefaultCharacter() const; UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext")) FRetirementCostItem GetCharacterRetirementCost(UObject* WorldContext, UPlayerCharacterID* ID) const; UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetAllVisibilityGroups() const; UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetAllMissionStats() const; UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetAllInfirmaryStats() const; };