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

56 lines
1.6 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "AIController.h"
#include "Engine/EngineTypes.h"
#include "DelegateDelegate.h"
#include "MessageBehaviorTreeDelegate.h"
#include "FSDAIController.generated.h"
class APlayerCharacter;
UCLASS(Blueprintable)
class AFSDAIController : public AAIController {
GENERATED_BODY()
public:
UPROPERTY(BlueprintAssignable, BlueprintCallable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FMessageBehaviorTree OnMessageBehaviorTreeEvent;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FDelegate OnAlertedEvent;
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TEnumAsByte<ECollisionChannel> LOSTraceChannel;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
TWeakObjectPtr<APlayerCharacter> TargetedPlayer;
public:
AFSDAIController();
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
void SetAlerted(bool isAlerted);
UFUNCTION(BlueprintCallable)
void ResumeLogic();
UFUNCTION(BlueprintCallable)
void RegisterBlackboardChanges(const FName& Key);
protected:
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void Recieve_BlackboardValueChanged(const FName& KeyName);
public:
UFUNCTION(BlueprintCallable)
void PauseLogic();
protected:
UFUNCTION(BlueprintCallable)
void OnAttackingChanged(bool attacking);
public:
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure)
bool GetIsAlerted() const;
};