#pragma once #include "CoreMinimal.h" #include "UObject/Object.h" #include "DeepDiveRewardItem.h" #include "DeepDive.generated.h" class UBiome; class UDeepDiveTemplate; class UGeneratedMission; UCLASS(Blueprintable) class UDeepDive : public UObject { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray missions; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UBiome* Biome; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray GivenRewards; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) int32 MissionsCompleted; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TArray StagesCompleted; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) int32 CurrentMissionIndex; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) UDeepDiveTemplate* Template; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) FText DeepDiveName; UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true)) int32 BestTime; UDeepDive(); UFUNCTION(BlueprintCallable, BlueprintPure) bool IsCompleted() const; UFUNCTION(BlueprintCallable, BlueprintPure) bool HasCompletedStage(int32 stageIndex) const; UFUNCTION(BlueprintCallable, BlueprintPure) FDeepDiveRewardItem GetGivenRewardAtStage(int32 stageIndex); };