9#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
14#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
17#include "AITypes.generated.h"
24#define TEXT_AI_LOCATION(v) (FAISystem::IsValidLocation(v) ? *(v).ToString() : TEXT("Invalid"))
91 return Value ? EAIOptionFlag::Enable : EAIOptionFlag::Disable;
170template<
typename TCounter>
173 const typename TCounter::Type
Index;
209 operator typename TCounter::Type()
const {
return Index; }
226template<
typename TCounter>
229 const typename TCounter::Type
Index;
260 UE_DEPRECATED(5.6,
"AIGenericId is not convertible to its base type anymore.")
282template<
typename TCounterType>
373 Locks |=
Other.Locks;
378 return Locks ==
Other.Locks;
384 bool bUseResourceLockCount;
407 static constexpr uint32 AnyRequestID = 0;
421 return OtherID != InvalidRequestID && this->
IsValid() && (RequestID == OtherID || RequestID == AnyRequestID || OtherID == AnyRequestID);
426 return IsEquivalent(
Other.RequestID);
431 return RequestID != InvalidRequestID;
448 return FString::FromInt(
int32(RequestID));
490 bool IsValid()
const {
return bInitialized && (!bMoveToActor || GoalActor.IsValid()); }
559 uint32 bReachTestIncludesAgentRadius : 1;
568 float AcceptanceRadius;
571 float CostLimitFactor;
574 float MinimumCostLimit;
618 return TimeLeft <= 0;
632 return (Interval - TimeLeft);
FAINamedID< FAIResCounter > FAIResourceID
Definition AITypes.h:298
FAIDistanceType
Definition AITypes.h:74
EGenericAICheck
Definition AITypes.h:585
TSharedPtr< FMoveRequestCustomData, ESPMode::ThreadSafe > FCustomMoveSharedPtr
Definition AITypes.h:20
#define ensure( InExpression)
Definition AssertionMacros.h:464
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define FVector
Definition IOSSystemIncludes.h:8
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition NameTypes.h:617
Definition SharedPointer.h:692
Definition SubclassOf.h:30
Definition NavigationQueryFilter.h:107
Type
Definition AITypes.h:98
@ MAX
Definition AITypes.h:102
@ Force
Definition AITypes.h:99
@ DoNotForce
Definition AITypes.h:100
Type
Definition AITypes.h:151
Type
Definition AITypes.h:116
@ RestartedInstead
Definition AITypes.h:118
@ Continue
Definition AITypes.h:117
Type
Definition AITypes.h:63
@ Default
Definition AITypes.h:64
constexpr int32 Lowest
Definition AITypes.h:144
Type
Definition AITypes.h:126
@ Reaction
Definition AITypes.h:134
@ SoftScript
Definition AITypes.h:128
@ HardScript
Definition AITypes.h:132
@ Logic
Definition AITypes.h:130
constexpr bool UsePathfinding
Definition AITypes.h:109
constexpr bool IgnorePathfinding
Definition AITypes.h:110
constexpr bool StopOnOverlap
Definition AITypes.h:108
Definition AIController.h:459
bool IsValidRotation(const FRotator &TestRotation)
Definition AITypes.h:48
bool IsValidLocation(const FVector &TestLocation)
Definition AITypes.h:36
constexpr FVector InvalidDirection
Definition AITypes.h:31
bool PickAIOption(EAIOptionFlag::Type Option, bool DefaultOption)
Definition AITypes.h:84
EAIOptionFlag::Type BoolToAIOption(bool Value)
Definition AITypes.h:89
constexpr float InfiniteInterval
Definition AITypes.h:33
AIMODULE_API const FQuat InvalidOrientation
Definition AITypes.cpp:12
AIMODULE_API const FRotator InvalidRotation
Definition AITypes.cpp:11
bool IsValidOrientation(const FQuat &TestOrientation)
Definition AITypes.h:53
constexpr float InvalidRange
Definition AITypes.h:32
bool IsValidDirection(const FVector &TestVector)
Definition AITypes.h:43
constexpr uint32 InvalidUnsignedID
Definition AITypes.h:34
constexpr FVector InvalidLocation
Definition AITypes.h:30
U16 Index
Definition radfft.cpp:71
Type GetNextAvailableID()
Definition AITypes.h:290
uint32 GetSize() const
Definition AITypes.h:291
TCounterType Type
Definition AITypes.h:285
FAIBasicCounter()
Definition AITypes.h:289
Type NextAvailableID
Definition AITypes.h:287
void OnIndexForced(Type ForcedIndex)
Definition AITypes.h:292
friend uint32 GetTypeHash(const FAIGenericID &ID)
Definition AITypes.h:276
bool IsValid() const
Definition AITypes.h:263
const TCounter::Type Index
Definition AITypes.h:229
FAIGenericID(typename TCounter::Type InIndex)
Definition AITypes.h:238
static uint32 GetSize()
Definition AITypes.h:268
static FAIGenericID GetNextID()
Definition AITypes.h:258
bool operator==(const FAIGenericID Other) const
Definition AITypes.h:265
operator typename TCounter::Type() const
Definition AITypes.h:261
FAIGenericID()
Definition AITypes.h:254
FAIGenericID(const FAIGenericID &Other)
Definition AITypes.h:244
bool operator!=(const FAIGenericID Other) const
Definition AITypes.h:266
FAIGenericID & operator=(const FAIGenericID &Other)
Definition AITypes.h:248
static TCounter & GetCounter()
Definition AITypes.h:233
static FAIGenericID< TCounter > InvalidID()
Definition AITypes.h:270
float GetMinimumCostLimit() const
Definition AITypes.h:505
FAIMoveRequest & SetNavigationFilter(TSubclassOf< UNavigationQueryFilter > Filter)
Definition AITypes.h:469
TSubclassOf< UNavigationQueryFilter > GetNavigationFilter() const
Definition AITypes.h:506
bool IsUsingPathfinding() const
Definition AITypes.h:499
const FCustomMoveSharedPtr & GetUserData() const
Definition AITypes.h:512
bool IsReachTestIncludingGoalRadius() const
Definition AITypes.h:510
FVector GetGoalLocation() const
Definition AITypes.h:494
FAIMoveRequest & SetAcceptanceRadius(float Radius)
Definition AITypes.h:484
const bool ShouldStartFromPreviousPath() const
Definition AITypes.h:515
FAIMoveRequest & SetUserData(const FCustomMoveSharedPtr &InUserData)
Definition AITypes.h:485
FAIMoveRequest & SetApplyCostLimitFromHeuristic(bool bApply, float InCostLimitFactor=FLT_MAX, float InMinimumCostLimit=0.f)
Definition AITypes.h:478
int32 GetUserFlags() const
Definition AITypes.h:513
FAIMoveRequest & SetCanStrafe(bool bStrafe)
Definition AITypes.h:481
FAIMoveRequest & SetUserFlags(int32 InUserFlags)
Definition AITypes.h:486
AActor * GetGoalActor() const
Definition AITypes.h:493
bool IsProjectingGoal() const
Definition AITypes.h:502
bool IsValid() const
Definition AITypes.h:490
FAIMoveRequest & SetProjectGoalLocation(bool bProject)
Definition AITypes.h:479
bool IsMoveToActorRequest() const
Definition AITypes.h:492
FAIMoveRequest & SetUsePathfinding(bool bPathfinding)
Definition AITypes.h:470
bool IsUsingPartialPaths() const
Definition AITypes.h:500
FAIMoveRequest & SetStartFromPreviousPath(const bool bInStartFromPreviousPath)
Definition AITypes.h:487
FAIMoveRequest & SetRequireNavigableEndLocation(bool bRequire)
Definition AITypes.h:472
bool CanStrafe() const
Definition AITypes.h:508
float GetCostLimitFactor() const
Definition AITypes.h:504
bool IsApplyingCostLimitFromHeuristic() const
Definition AITypes.h:503
float GetAcceptanceRadius() const
Definition AITypes.h:511
bool IsReachTestIncludingAgentRadius() const
Definition AITypes.h:509
bool IsNavigableEndLocationRequired() const
Definition AITypes.h:501
FAIMoveRequest & SetAllowPartialPath(bool bAllowPartial)
Definition AITypes.h:471
FAIMoveRequest & SetReachTestIncludesAgentRadius(bool bIncludeRadius)
Definition AITypes.h:482
FAIMoveRequest & SetReachTestIncludesGoalRadius(bool bIncludeRadius)
Definition AITypes.h:483
FAINamedID(const FName &InName, typename TCounter::Type InIndex)
Definition AITypes.h:184
operator typename TCounter::Type() const
Definition AITypes.h:209
static TCounter & GetCounter()
Definition AITypes.h:178
FAINamedID()
Definition AITypes.h:205
FAINamedID(const FAINamedID &Other)
Definition AITypes.h:195
const TCounter::Type Index
Definition AITypes.h:173
bool IsValid() const
Definition AITypes.h:210
FAINamedID(const FName &InName)
Definition AITypes.h:191
static FAINamedID< TCounter > InvalidID()
Definition AITypes.h:214
static uint32 GetSize()
Definition AITypes.h:212
const FName Name
Definition AITypes.h:174
FAINamedID & operator=(const FAINamedID &Other)
Definition AITypes.h:199
friend uint32 GetTypeHash(const FAINamedID &ID)
Definition AITypes.h:220
static AIMODULE_API const FAIRequestID CurrentRequest
Definition AITypes.h:452
FString ToString() const
Definition AITypes.h:446
static AIMODULE_API const FAIRequestID InvalidRequest
Definition AITypes.h:453
bool IsEquivalent(FAIRequestID Other) const
Definition AITypes.h:424
bool IsValid() const
Definition AITypes.h:429
static AIMODULE_API const FAIRequestID AnyRequest
Definition AITypes.h:451
void operator=(uint32 OtherID)
Definition AITypes.h:436
FAIRequestID(uint32 InRequestID=InvalidRequestID)
Definition AITypes.h:414
uint32 GetID() const
Definition AITypes.h:434
bool IsEquivalent(uint32 OtherID) const
Definition AITypes.h:419
bool IsAvailableFor(EAIRequestPriority::Type LockPriority) const
Definition AITypes.h:357
bool operator==(const FAIResourceLock &Other) const
Definition AITypes.h:376
AIMODULE_API void ForceClearAllLocks()
Definition AITypes.cpp:61
AIMODULE_API void SetUseResourceLockCount(bool inUseResourceLockCount)
Definition AITypes.cpp:54
AIMODULE_API void ClearLock(EAIRequestPriority::Type LockPriority)
Definition AITypes.cpp:34
void operator+=(const FAIResourceLock &Other)
Definition AITypes.h:371
AIMODULE_API void SetLock(EAIRequestPriority::Type LockPriority)
Definition AITypes.cpp:23
AIMODULE_API FString GetLockPriorityName() const
Definition AITypes.cpp:72
bool IsLockedBy(EAIRequestPriority::Type LockPriority) const
Definition AITypes.h:349
AIMODULE_API FAIResourceLock()
Definition AITypes.cpp:17
bool IsLocked() const
Definition AITypes.h:344
uint16 FLockFlags
Definition AITypes.h:331
bool ContainsResource(const FAIResourceID &Resource) const
Definition AITypes.h:321
static constexpr uint32 AllResources
Definition AITypes.h:304
static constexpr uint8 MaxFlags
Definition AITypes.h:305
FAIResourcesSet & RemoveResource(const FAIResourceID &Resource)
Definition AITypes.h:320
bool ContainsResourceIndex(uint8 ResourceID) const
Definition AITypes.h:317
FAIResourcesSet(const FAIResourceID &Resource)
Definition AITypes.h:310
FAIResourcesSet & RemoveResourceIndex(uint8 ResourceIndex)
Definition AITypes.h:316
FAIResourcesSet(uint32 ResourceSetDescription=NoResources)
Definition AITypes.h:309
bool IsEmpty() const
Definition AITypes.h:323
FAIResourcesSet & AddResource(const FAIResourceID &Resource)
Definition AITypes.h:319
static constexpr uint32 NoResources
Definition AITypes.h:303
FAIResourcesSet & AddResourceIndex(uint8 ResourceIndex)
Definition AITypes.h:315
void Clear()
Definition AITypes.h:324
void Set(const float InNewTimeLeft)
Definition AITypes.h:609
float GetElapsedTimeWithFallback(const float FallbackValue) const
Definition AITypes.h:636
void Reset()
Definition AITypes.h:622
bool Tick(const float TimeDelta)
Definition AITypes.h:615
float GetElapsedTime() const
Definition AITypes.h:628
Definition WeakObjectPtrTemplates.h:25
T Z
Definition Vector.h:68
T Y
Definition Vector.h:65
bool IsZero() const
Definition Vector.h:1761
T X
Definition Vector.h:62