Space Plunder
Loading...
Searching...
No Matches
PatrolPath.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "GameFramework/Actor.h"
9#include "PatrolPath.generated.h"
10
11UCLASS()
12class AITOOLKIT_API APatrolPath : public AActor, public IPatrolInterface, public IBaseInterface
13{
14 GENERATED_BODY()
15
16public:
18
19 //- Patrol interface for AI Tasks //
20 virtual bool GetTimeToWait(float& WaitMin, float& WaitMax) const override;
21 virtual AActor* GetNextPatrolPointActor(bool& bIsBridgeAvailable) const override;
22 virtual AActor* GetNextBridgePatrolPointActor() const override;
23 virtual AActor* GetPreviousPatrolPointActor(bool& bIsBridgeAvailable) const override;
24 virtual float GetRadius() const override {return Radius;};
25 virtual bool GetIsDeadEnd() const override;
26
27 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
28 virtual void SetGravityEnabled(const bool bValue) override{return;};
29 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
30 virtual FString GetObjectDisplayName() const override {return "Patrol Path";};
31 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
32 virtual FInteractionData GetInteractionData() const override{ return InteractionData;};
33 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
34 virtual bool GetIsCharacter() const override{return false;};
35
36 virtual void OnFinishSpawning() override;
37
38
39protected:
40 virtual void BeginPlay() override;
41
42
43 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="AI Tool Kit")
44 class UAIPerceptionStimuliSourceComponent* AIStimuliComponent;
45 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="AI Tool Kit")
46 class USplineComponent* SplineComponent;
47
48
49 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AI Tool Kit|Path")
51
53 //~ Interaction Data Manipulation ~//
54 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
55 virtual bool SetInteractionHidden(const EInteractionType Interaction, const bool bValue) override
56 {return InteractionData.SetInteractionHidden(Interaction, bValue);};
57 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
58 virtual void SetOnlyInteractionVisible(const EInteractionType Interaction) override
59 {InteractionData.SetOnlyInteractionVisible(Interaction);}
60
61 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
62 virtual bool SetInteractionAvailable(const EInteractionType Interaction, const bool bValue) override
63 {return InteractionData.SetInteractionAvailable(Interaction, bValue);}
64
65 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
66 virtual bool SetInteractionHold(const EInteractionType Interaction, const bool bValue) override
67 {return InteractionData.SetInteractionHold(Interaction, bValue);}
68
69 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
70 virtual TArray<FInteractionType> GetVisibleInteractions() const override
71 {return InteractionData.GetVisibleInteractions();}
72 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
73 virtual bool GetInteraction(FInteractionType& Type, const EInteractionType Interaction) const override
74 {return InteractionData.GetInteraction(Type, Interaction);}
75 UFUNCTION(BlueprintCallable, Category = "Base Helpers")
76 virtual bool GetDefaultInteraction(FInteractionType& Type) const override
77 {return InteractionData.GetDefaultInteraction(Type);}
78 //~ Interaction Data Manipulation ~//
79
80
81 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AI Tool Kit|Path")
82 FLinearColor PathColor = FLinearColor::Blue;
83
84 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AI Tool Kit|Path")
85 int32 PathGroup = 1;
86 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AI Tool Kit|Path|Radius")
87 float Radius = 50.0f;
88
89 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AI Tool Kit|Debugging")
90 bool bDebuggingMode = false;
91
92};
EInteractionType
Definition BaseData.h:149
EAIStimuliType
Definition BaseData.h:198
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition PatrolPath.h:13
virtual float GetRadius() const override
Definition PatrolPath.h:24
Definition BaseInterface.h:17
An interface class for patrol functionality.
Definition PatrolInterface.h:24
Definition Interaction.Build.cs:6
Definition BaseData.h:420
bool SetInteractionHidden(const EInteractionType Interaction, const bool bValue)
Definition BaseData.h:496
Definition BaseData.h:333