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

45 lines
1.5 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "ClaimableRewardEntry.h"
#include "PendingRewards.h"
#include "PendingRewardsStats.h"
#include "RewardsSubSystem.generated.h"
class AFSDPlayerController;
class UObject;
UCLASS(Blueprintable)
class URewardsSubSystem : public UGameInstanceSubsystem {
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
FPendingRewards PendingMissionRewards;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
TArray<FClaimableRewardEntry> PendingPromotionRewards;
URewardsSubSystem();
UFUNCTION(BlueprintCallable, BlueprintPure)
bool ShouldPendingRewardsBeShown() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool ShouldPendingRewardsBeGiven() const;
UFUNCTION(BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContext"))
bool Receive_GetPendingRewards(UObject* WorldContext, FPendingRewardsStats& OutStats, FPendingRewards& OutRewards) const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool HasPendingRewards() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetPendingRewards(FPendingRewardsStats& OutStats, FPendingRewards& OutRewards) const;
UFUNCTION(BlueprintCallable)
void ClearPendingRewards();
UFUNCTION(BlueprintCallable)
void ApplyPendingRewards(AFSDPlayerController* Controller);
};