// © 2025 Naked People Team. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "NakedDesire/Commissions/CommissionObjective.h"
#include "ObserverObjectiveBase.generated.h"

// Base for objectives that react to how many NPCs are currently observing the player (the same
// observer set that drives embarrassment). Re-evaluates whenever that count changes.
UCLASS(Abstract)
class NAKEDDESIRE_API UObserverObjectiveBase : public UCommissionObjective
{
	GENERATED_BODY()

protected:
	virtual void OnActivate() override;
	virtual void OnDeactivate() override;

	int32 GetObserverCount() const;

private:
	UFUNCTION()
	void HandleObserversChanged();
};