17#include "PathFollowingComponent.generated.h"
282 UE_DEPRECATED(5.5,
"SetMovementComponent(UNavMovementComponent* MoveComp) is deprecated, please use SetNavMoveInterface(INavMoveInterface* NavMoveInterface) instead.")
313 bool IsBlockDetectionActive()
const {
return bUseBlockDetection; }
316 AIMODULE_API void SetBlockDetection(
float DistanceThreshold,
float Interval,
int32 NumSamples);
319 bool IsDecelerating()
const {
return bIsDecelerating; };
322 inline bool IsStopMovementOnFinishActive()
const {
return bStopMovementOnFinish; }
325 inline void SetStopMovementOnFinish(
bool bEnable) { bStopMovementOnFinish = bEnable; }
346 inline float GetAcceptanceRadius()
const {
return AcceptanceRadius; }
347 inline float GetDefaultAcceptanceRadius()
const {
return MyDefaultAcceptanceRadius; }
349 inline AActor* GetMoveGoal()
const {
return DestinationActor.Get(); }
350 inline bool HasPartialPath()
const {
return Path.IsValid() && Path->IsPartial(); }
351 inline bool DidMoveReachGoal()
const
358 inline FAIRequestID GetCurrentRequestId()
const {
return CurrentRequestId; }
359 inline uint32 GetCurrentPathIndex()
const {
return MoveSegmentStartIndex; }
360 inline uint32 GetNextPathIndex()
const {
return MoveSegmentEndIndex; }
361 inline UObject* GetCurrentCustomLinkOb()
const {
return CurrentCustomLinkOb.Get(); }
362 inline FVector GetCurrentTargetLocation()
const {
return *CurrentDestination; }
363 inline FBasedPosition GetCurrentTargetLocationBased()
const {
return CurrentDestination; }
364 inline FVector GetMoveGoalLocationOffset()
const {
return MoveOffset; }
365 bool HasStartedNavLinkMove()
const {
return bWalkingNavLinkStart; }
366 AIMODULE_API bool IsCurrentSegmentNavigationLink()
const;
369 FVector GetCurrentMoveInput()
const {
return CurrentMoveInput; }
372 inline bool HasMovementAuthority()
const {
return (NavMovementInterface ==
nullptr) || NavMovementInterface->CanStopPathFollowing(); }
375 inline bool HasValidPath()
const {
return Path.IsValid() && Path->IsValid(); }
387 virtual int32 GetCurrentPathElement()
const {
return MoveSegmentEndIndex; }
404 virtual void OnLanded()
override {}
405 AIMODULE_API virtual bool IsFollowingNavLink()
const override;
409 AIMODULE_API virtual bool IsPathFollowingAllowed()
const;
420 AIMODULE_API virtual void ForceUnlockResource()
override;
421 AIMODULE_API virtual bool IsResourceLocked()
const override;
431 UFUNCTION(BlueprintCallable, Category=
"AI|Components|PathFollowing", meta = (DeprecatedFunction, DeprecationMessage =
"This function is now deprecated, please use AIController.GetMoveStatus instead"))
434 UFUNCTION(BlueprintCallable, Category=
"AI|Components|PathFollowing", meta = (DeprecatedFunction, DeprecationMessage =
"This function is now deprecated, please use AIController.GetImmediateMoveDestination instead"))
437#if WITH_EDITORONLY_DATA
447 UE_DEPRECATED(5.5,
"MovementComp is deprecated, please use NavMovementComp and the INavMoveInterface instead.")
448 UPROPERTY(
transient, meta = (DeprecatedProperty, DeprecationMessage =
"MovementComp is deprecated, please use NavMovementInterface and the INavMoveInterface instead."))
471 float MyDefaultAcceptanceRadius;
478 float AcceptanceRadius;
481 float CurrentAcceptanceRadius;
484 float MinAgentRadiusPct;
487 float MinAgentHalfHeightPct;
490 float WaitingTimeout;
520 double PathTimeWhenPaused;
525 int32 PreciseAcceptanceRadiusCheckStartNodeIndex;
532 uint8 bReachTestIncludesAgentRadius : 1;
535 uint8 bReachTestIncludesGoalRadius : 1;
543 uint8 bMoveToGoalClampedToNavigation : 1;
567 uint8 bMoveSegmentIsUsingCustomLinkReachCondition : 1;
573 uint8 bTickComponentOnlyWhenMoving : 1;
576 float BlockDetectionDistance;
579 float BlockDetectionInterval;
585 double LastSampleTime;
609 float CachedBrakingDistance;
612 float CachedBrakingMaxSpeed;
667 inline void SetNextMoveSegment() { SetMoveSegment(GetNextPathIndex()); }
704 AIMODULE_API virtual bool ShouldStopMovementOnPathFinished()
const;
754#if !UE_BUILD_SHIPPING
#define UE_DEPRECATED_FORGAME
Definition CoreMiscDefines.h:377
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
ELevelTick
Definition EngineBaseTypes.h:70
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
uint64 NavNodeRef
Definition NavigationTypes.h:34
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
EPathFollowingVelocityMode
Definition PathFollowingComponent.h:195
EPathFollowingReachMode
Definition PathFollowingComponent.h:201
bool Failed
Definition binka_ue_decode_test.cpp:18
Definition NavigationData.h:547
Definition Engine.Build.cs:7
Definition DisplayDebugHelpers.h:9
Definition UnrealType.h:3087
Definition AIResourceInterface.h:18
Definition NavAgentInterface.h:20
Definition NavLinkCustomInterface.h:40
Definition NavMovementInterface.h:26
Definition PathFollowingAgentInterface.h:21
Definition EnumAsByte.h:22
Definition ActorComponent.h:152
Definition NavMovementComponent.h:27
Definition PathFollowingComponent.h:217
void StoreRequestId()
Definition PathFollowingComponent.h:670
static AIMODULE_API const float DefaultAcceptanceRadius
Definition PathFollowingComponent.h:752
uint8 DEBUG_bMovingDirectlyToGoal
Definition PathFollowingComponent.h:755
static uint32 GetNextRequestId()
Definition PathFollowingComponent.h:672
Type
Definition AITypes.h:126
Definition PathFollowingComponent.h:142
Type
Definition PathFollowingComponent.h:144
@ PathToGoal
Definition PathFollowingComponent.h:149
@ NoMove
Definition PathFollowingComponent.h:146
@ PartialPath
Definition PathFollowingComponent.h:148
@ DirectMove
Definition PathFollowingComponent.h:147
Definition PathFollowingComponent.h:174
Type
Definition PathFollowingComponent.h:176
@ Description
Definition PathFollowingComponent.h:177
@ PassedValue
Definition PathFollowingComponent.h:180
@ FailedValue
Definition PathFollowingComponent.h:179
@ ParamName
Definition PathFollowingComponent.h:178
Definition PathFollowingComponent.h:186
Type
Definition PathFollowingComponent.h:188
@ NoPath
Definition PathFollowingComponent.h:189
@ OtherRequest
Definition PathFollowingComponent.h:190
Definition AIController.h:34
Type
Definition PathFollowingComponent.h:157
@ RequestSuccessful
Definition PathFollowingComponent.h:160
@ AlreadyAtGoal
Definition PathFollowingComponent.h:159
@ Failed
Definition PathFollowingComponent.h:158
Definition AIController.h:35
Type
Definition PathFollowingComponent.h:56
@ Success
Definition PathFollowingComponent.h:58
@ OffPath
Definition PathFollowingComponent.h:64
@ UMETA
Definition PathFollowingComponent.h:70
@ Blocked
Definition PathFollowingComponent.h:61
@ Aborted
Definition PathFollowingComponent.h:67
@ Invalid
Definition PathFollowingComponent.h:73
Definition AIController.h:36
Type
Definition PathFollowingComponent.h:37
@ Idle
Definition PathFollowingComponent.h:39
@ Waiting
Definition PathFollowingComponent.h:42
@ Paused
Definition PathFollowingComponent.h:45
@ Moving
Definition PathFollowingComponent.h:48
Definition PathFollowingComponent.h:78
const Type OwnerFinished
Definition PathFollowingComponent.h:96
const Type Success
Definition PathFollowingComponent.h:84
const Type None
Definition PathFollowingComponent.h:81
uint16 Type
Definition PathFollowingComponent.h:79
const Type InvalidPath
Definition PathFollowingComponent.h:99
const Type OffPath
Definition PathFollowingComponent.h:90
const Type FirstGameplayFlagShift
Definition PathFollowingComponent.h:114
const Type AlreadyAtGoal
Definition PathFollowingComponent.h:111
const Type Blocked
Definition PathFollowingComponent.h:87
FString ToString(uint16 Value)
Definition PathFollowingComponent.cpp:82
const Type ForcedScript
Definition PathFollowingComponent.h:108
const Type UserAbortFlagMask
Definition PathFollowingComponent.h:116
const Type MovementStop
Definition PathFollowingComponent.h:102
const Type NewRequest
Definition PathFollowingComponent.h:105
const Type UserAbort
Definition PathFollowingComponent.h:93
static AIMODULE_API const FAIRequestID CurrentRequest
Definition AITypes.h:452
Definition EngineBaseTypes.h:571
Definition EngineTypes.h:1918
Definition HitResult.h:21
Definition NavigationTypes.h:252
Definition NavigationData.h:87
Definition NavigationSystemTypes.h:62
Definition PathFollowingComponent.h:165
TEnumAsByte< EPathFollowingRequestResult::Type > Code
Definition PathFollowingComponent.h:167
FPathFollowingRequestResult()
Definition PathFollowingComponent.h:169
FAIRequestID MoveId
Definition PathFollowingComponent.h:166
Definition PathFollowingComponent.h:122
bool IsInterrupted() const
Definition PathFollowingComponent.h:134
AIMODULE_API FString ToString() const
Definition PathFollowingComponent.cpp:76
bool IsSuccess() const
Definition PathFollowingComponent.h:132
FPathFollowingResult()
Definition PathFollowingComponent.h:126
bool HasFlag(FPathFollowingResultFlags::Type Flag) const
Definition PathFollowingComponent.h:130
FPathFollowingResultFlags::Type Flags
Definition PathFollowingComponent.h:123
bool IsFailure() const
Definition PathFollowingComponent.h:133
TEnumAsByte< EPathFollowingResult::Type > Code
Definition PathFollowingComponent.h:124
Definition ResourceArray.h:31
Definition TimerHandle.h:12
Definition VisualLoggerTypes.h:205
Definition WeakObjectPtr.h:49
Definition ObjectPtr.h:488
Definition WeakInterfacePtr.h:18
Definition WeakObjectPtrTemplates.h:25
double FReal
Definition Vector.h:55