Added commissions system
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "SessionManagerSubsystem.generated.h"
|
||||
|
||||
class UStatsManager;
|
||||
class ULocationData;
|
||||
|
||||
/**
|
||||
* Why a session ended (GDD §4.4). SafeReturn is a non-loss end (player walked
|
||||
@@ -33,6 +34,10 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSessionEndSignature, ESessionLoss
|
||||
* ALocationTrigger drives start / end; embarrassment-max and energy-zero are
|
||||
* detected by subscribing to UStatsManager. This replaces the EndGameEmbarrassed
|
||||
* Blueprint event on ANakedDesireGameMode.
|
||||
*
|
||||
* The apartment threshold is detected via ULocationSubsystem: a session starts when the player leaves
|
||||
* a location tagged Location.Apartment and ends (SafeReturn) when they re-enter one. There is no
|
||||
* per-trigger apartment flag — the apartment is just a tagged location.
|
||||
*/
|
||||
UCLASS()
|
||||
class NAKEDDESIRE_API USessionManagerSubsystem : public UWorldSubsystem
|
||||
@@ -42,10 +47,6 @@ class NAKEDDESIRE_API USessionManagerSubsystem : public UWorldSubsystem
|
||||
public:
|
||||
virtual void OnWorldBeginPlay(UWorld& InWorld) override;
|
||||
|
||||
// Called by the apartment ALocationTrigger as the player crosses the threshold.
|
||||
void NotifyEnteredApartment();
|
||||
void NotifyLeftApartment();
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "Session")
|
||||
bool IsSessionActive() const { return bSessionActive; }
|
||||
|
||||
@@ -69,6 +70,12 @@ private:
|
||||
|
||||
void BindToPlayerStats();
|
||||
|
||||
UFUNCTION()
|
||||
void HandleLocationEntered(ULocationData* Location);
|
||||
|
||||
UFUNCTION()
|
||||
void HandleLocationExited(ULocationData* Location);
|
||||
|
||||
UFUNCTION()
|
||||
void HandleEmbarrassmentUpdate(float CurrentValue, float MaxValue);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user