Added commissions system

This commit is contained in:
2026-06-01 00:27:56 +03:00
parent dd7ed121fc
commit 9a5a0003b1
81 changed files with 2418 additions and 1065 deletions
@@ -0,0 +1,35 @@
// © 2025 Naked People Team. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "NakedDesire/Commissions/CommissionConstraint.h"
#include "LocationConstraint.generated.h"
class ULocationData;
class ULocationSubsystem;
// Holds while the player occupies a location matching (or nesting under) RequiredLocation.
UCLASS(EditInlineNew, DisplayName = "While At Location")
class NAKEDDESIRE_API ULocationConstraint : public UCommissionConstraint
{
GENERATED_BODY()
public:
virtual bool IsMet() const override;
virtual FText GetDescription() const override;
protected:
virtual void OnActivate() override;
virtual void OnDeactivate() override;
private:
UPROPERTY(EditDefaultsOnly)
FGameplayTag RequiredLocation;
UFUNCTION()
void HandleLocationChanged(ULocationData* Location);
ULocationSubsystem* GetLocations() const;
};