virtual void DescribeSelfToVisLog ( struct [FVisualLogEntry](API\Runtime\Engine\VisualLogger\FVisualLogEntry) * Snapshot ) const


Force-clears all locks on resource


[AAIController](API\Runtime\AIModule\AAIController) * GetAIOwner() const


blackboard used with this component


blackboard used with this component

const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * GetBlackboardComponent() const


virtual [FString](API\Runtime\Core\Containers\FString) GetDebugInfoString() const


virtual void HandleMessage ( const [FAIMessage](API\Runtime\AIModule\FAIMessage) & Message )


BEGINUActorComponentoverrides


Check whether resource is currently locked


If resource is lockable lock it with indicated priority

virtual void LockResource ( [EAIRequestPriority::Type](API\Runtime\AIModule\EAIRequestPriority__Type) LockSource )


Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called.


Pause logic and blackboard updates.

virtual void PauseLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


this call does nothing if logic is not locked at the moment of call


Restarts currently running or previously ran brain logic.


Resumes paused brain logic. MUST be called by child implementations!
indicates whether child class' ResumeLogic should be called (true) or has it been handled in a different way and no other actions are required (false)

virtual [EAILogicResuming::Type](API\Runtime\AIModule\EAILogicResuming__Type) ResumeLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


Starts brain logic. If brain is already running, will not do anything.


Stops currently running brain logic.

virtual void StopLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


UBrainComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Function called every frame on this ActorComponent. Override this function to implement custom logic to be executed every frame. Only executes if the component is registered, and also PrimaryComponentTick.bCanEverTick must be set to true.

virtual void TickComponent ( float DeltaTime, enum ELevelTick TickType, [FActorComponentTickFunction](API\Runtime\Engine\Engine\FActorComponentTickFunction) * ThisTickFunction )


class UBrainComponent : public [UActorComponent](API\Runtime\Engine\Components\UActorComponent), public [IAIResourceInterface](API\Runtime\AIModule\IAIResourceInterface)

BlackboardComp

Blackboard component

MessageObservers

Active message observers

MessagesToProcess

This is a temp contraption to implement delayed messages delivering until proper AI messaging is implemented

ResourceLock

Used to keep track of which subsystem requested this AI resource be locked


Interpolates bilinear patch A,B,C,D. U interpolates from A->B, and C->D, and V interpolates from AB->CD.
interpolated value.

namespace UE { namespace AI { FVector UE::AI::Bilinear ( const FVector2D UV, const FVector VertexA, const FVector VertexB, const FVector VertexC, const FVector VertexD ) } }


2D cross product. Using X and Y components of 3D vectors.

namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::Cross2D ( const FVector & A, const FVector & B ) } }


2D cross product.

namespace UE { namespace AI { [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) UE::AI::Cross2D ( const FVector2D & A, const FVector2D & B ) } }


Intersects infinite lines defined by segments A and B in 2D. Using X and Y components of 3D vectors.
if segments A and B intersect in 2D

namespace UE { namespace AI { bool UE::AI::IntersectLineLine2D ( const FVector & StartA, const FVector & EndA, const FVector & StartB, const FVector & EndB, [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) & OutTA, [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) & OutTB ) } }


Finds the UV coordinates of the 'Point' on bilinear patch A,B,C,D. U interpolates from A->B, and C->D, and V interpolates from AB->CD. The UV coordinate is clamped to [0..1] range after inversion.
UV interpolation coordinates of the 'Point' in [0..1] range.

namespace UE { namespace AI { FVector2D UE::AI::InvBilinear2DClamped ( const FVector Point, const FVector VertexA, const FVector VertexB, const FVector VertexC, const FVector VertexD ) } }


value of the 'Point' project on infinite line defined by segment 'Start-End'. Using X and Y components of 3D vectors.

namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::ProjectPointOnLine2D ( const FVector Point, const FVector Start, const FVector End ) } }


value in range [0..1] of the 'Point' project on segment 'Start-End'. Using X and Y components of 3D vectors.

namespace UE { namespace AI { [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) UE::AI::ProjectPointOnSegment2D ( const FVector Point, const FVector Start, const FVector End ) } }


signed distance of the 'Point' to infinite line defined by segment 'Start-End'. Using X and Y components of 3D vectors.

namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::SignedDistancePointLine2D ( const FVector Point, const FVector Start, const FVector End ) } }


2D area of triangle.

namespace UE { namespace AI { [FVector2D::FReal](API\Runtime\Core\Math\TVector2\FReal) UE::AI::TriArea2D ( const FVector2D & A, const FVector2D & B, const FVector2D & C ) } }


UGenericTeamAgentInterface ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


class UGenericTeamAgentInterface : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


class UVisualLoggerExtension : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


2D area of triangle. Using X and Y components of 3D vectors.

namespace UE { namespace AI { [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) UE::AI::TriArea2D ( const FVector & A, const FVector & B, const FVector & C ) } }