DRG-Femboy-Voice/Source/FSD/Public/MissionStat.h
2025-04-15 12:39:31 -07:00

99 lines
3.8 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Engine/DataAsset.h"
#include "EMissionStatType.h"
#include "Templates/SubclassOf.h"
#include "MissionStat.generated.h"
class APlayerCharacter;
class UFSDAchievement;
class UMissionStat;
class UMissionStatCategory;
class UObject;
class UPlayerCharacterID;
class UTexture2D;
UCLASS(Blueprintable)
class UMissionStat : public UDataAsset {
GENERATED_BODY()
public:
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FStatCountChanged, UObject*, WorldContext, UMissionStat*, MissionStat, float, Value);
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FStatCountChanged OnCountChanged;
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FGuid SavegameID;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FText Title;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
UMissionStatCategory* Category;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
UFSDAchievement* StatAchievement;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
EMissionStatType MissionStatType;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool DoNotShowInMissionStatView;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool ShowAllValuesCombined;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool ShowHighestValue;
public:
UMissionStat();
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContext"))
float SetStatValue(UObject* WorldContext, APlayerCharacter* Character, float Amount);
UFUNCTION(BlueprintCallable, BlueprintPure)
static FText MissionStatToText(EMissionStatType StatType, float Value);
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContext"))
static void Increment(UObject* WorldContext, UMissionStat* Stat, TSubclassOf<APlayerCharacter> CharacterClass, float Amount);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
float GetStatMinCount(UObject* WorldContext);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
float GetStatMaxCount(UObject* WorldContext);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
FText GetStatCountTotalAsText(UObject* WorldContext);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
float GetStatCountTotal(UObject* WorldContext);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
float GetStatCountPct(UObject* WorldContext, TSubclassOf<APlayerCharacter> CharacterClass);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
FText GetStatCountAsText(UObject* WorldContext, UPlayerCharacterID* characterID);
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
float GetStatCount(UObject* WorldContext, UPlayerCharacterID* characterID);
UFUNCTION(BlueprintCallable, BlueprintPure)
FString GetSourceTitle();
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
FText GetLowestStatCountAsText(UObject* WorldContext);
UFUNCTION(BlueprintCallable, BlueprintPure)
UTexture2D* GetIcon() const;
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
FText GetHighestStatCountAsText(UObject* WorldContext);
UFUNCTION(BlueprintCallable, BlueprintPure)
FText GetCategoryTitle() const;
};