Files
Naked-Desire/Source/NakedDesire/NPC/NPCAIController.h
T

42 lines
970 B
C++

// © 2025 Naked People Team. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "DetourCrowdAIController.h"
#include "Perception/AIPerceptionTypes.h"
#include "NPCAIController.generated.h"
class ANakedDesireGameMode;
class UNavigationSystemV1;
class ANakedDesireCharacter;
UCLASS()
class NAKEDDESIRE_API ANPCAIController : public ADetourCrowdAIController
{
GENERATED_BODY()
UPROPERTY()
ANakedDesireCharacter* PlayerCharacter = nullptr;
UPROPERTY()
const UNavigationSystemV1* NavigationSystem = nullptr;
UPROPERTY()
ANakedDesireGameMode* GameMode = nullptr;
UPROPERTY(EditDefaultsOnly)
UBehaviorTree* BehaviorTreeAsset = nullptr;
bool bCurrentlyObserving = false;
public:
UFUNCTION(BlueprintCallable)
void SetShouldReactToPlayer(bool Value);
protected:
virtual void OnPossess(APawn* InPawn) override;
virtual void OnUnpossess() override;
virtual void OnTargetPerceptionUpdated(AActor* Actor, FAIStimulus Stimulus) override;
};