#pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "Engine/DataAsset.h" #include "RequiredMissionItem.h" #include "SaveGameIDInterface.h" #include "PlanetZone.generated.h" class UBiome; class UFSDSaveGame; UCLASS(Blueprintable) class UPlanetZone : public UDataAsset, public ISaveGameIDInterface { GENERATED_BODY() public: protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray Biomes; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray RequiredMissions; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool MustBeUnlocked; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGuid SavegameID; public: UPlanetZone(); UFUNCTION(BlueprintCallable, BlueprintPure) bool IsUnlocked(UFSDSaveGame* SaveGame) const; UFUNCTION(BlueprintCallable, BlueprintPure) FGuid GetSavegameID() const; UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetBiomes() const; // Fix for true pure virtual functions not being implemented };