Space Plunder
Loading...
Searching...
No Matches
STT_MoveTo.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 "StateTreeTaskBase.h"
6#include "AITypes.h"
7#include "STT_MoveTo.generated.h"
8
13class UNavigationQueryFilter;
14class UAITask_MoveTo;
15
19USTRUCT()
21{
22 GENERATED_BODY()
23
24 FAIRequestID MoveRequestID;
25
26 FDelegateHandle BBObserverDelegateHandle;
27 FVector PreviousGoalLocation;
28
29 TWeakObjectPtr<UAITask_MoveTo> Task;
30
31 uint8 bObserverCanFinishTask : 1;
32
33 UPROPERTY(EditAnywhere, Category="Parameter")
34 AActor* MoveToActor = nullptr;
35 UPROPERTY(EditAnywhere, Category="Parameter")
36 FVector MoveToLocation = FVector::ZeroVector;
37
38
39};
40
41
45USTRUCT(meta = (DisplayName = "Move To"))
46struct FStateTree_MoveTo : public FStateTreeTaskCommonBase
47{
48 GENERATED_BODY()
49
52 virtual const UStruct* GetInstanceDataType() const override { return FInstanceDataType::StaticStruct(); }
53
54
55 virtual EStateTreeRunStatus EnterState(FStateTreeExecutionContext& Context, const FStateTreeTransitionResult& Transition) const override;
56 virtual EStateTreeRunStatus Tick(FStateTreeExecutionContext& Context, const float DeltaTime) const override;
57
58 virtual void ExitState(FStateTreeExecutionContext& Context, const FStateTreeTransitionResult& Transition) const override;
59
60 UPROPERTY(Category="Parameter", EditAnywhere, meta=(ClampMin = "0.0", UIMin="0.0"))
61 float AcceptableRadius;
62 UPROPERTY(EditAnywhere, Category="Parameter")
63 TSubclassOf<UNavigationQueryFilter> FilterClass;
64 UPROPERTY(EditAnywhere, Category="Parameter")
65 bool bObserveValue = false;
66 UPROPERTY(EditAnywhere, Category="Parameter", meta = (ClampMin = "1", UIMin = "1", EditCondition="bObserveValue", DisplayAfter="bObserveValue"))
67 float ObservedValueTolerance;
68
70 UPROPERTY(EditAnywhere, Category="Parameter")
71 uint32 bTrackMovingGoal : 1;
72 UPROPERTY(EditAnywhere, Category="Parameter")
73 uint32 bAllowStrafe : 1;
74 UPROPERTY(EditAnywhere, Category="Parameter")
75 uint32 bAllowPartialPath : 1;
76 UPROPERTY(EditAnywhere, Category="Parameter")
77 uint32 bStopOnOverlap : 1;
78 UPROPERTY(EditAnywhere, Category="Parameter")
79 uint32 bProjectGoalLocation : 1;
80
82 uint32 bUsePathfinding : 1;
83
84
85 // UPROPERTY(EditAnywhere, Category="Parameter|Debugging")
86 // bool bDebuggingMode = false;
87 // UPROPERTY(EditAnywhere, Category="Parameter|Debugging")
88 // float PointSize = 20.0f;
89 // UPROPERTY(EditAnywhere, Category="Parameter|Debugging")
90 // FColor TraceColor = FColor::Green;
91 // UPROPERTY(EditAnywhere, Category="Parameter|Debugging")
92 // FColor TargetPatrolPointColor = FColor::Red;
93 //
94 //
95 // UPROPERTY(EditAnywhere, Category="Parameter", meta=(ToolTip="The size of the radius that the AI will look for a pathpoint in."))
96 // float Radius = 2000.0f;
97 // UPROPERTY(EditAnywhere, Category="Parameter", meta=(ToolTip="Object collision channel to filter for, used to find Patrol Points and not every object in the world."))
98 // TEnumAsByte<EObjectTypeQuery> ObjectChannelToUse = ObjectTypeQuery1;
99
100
101};
Definition STT_MoveTo.h:47
virtual const UStruct * GetInstanceDataType() const override
Definition STT_MoveTo.h:52
Definition STT_MoveTo.h:21