LEAP Documentation 40220
Documentation for the LEAP project
AProjectXAIController Class Reference

#include <ProjectXAIController.h>

Inheritance diagram for AProjectXAIController:
ITeamInterface

Public Member Functions

 AProjectXAIController ()
 
AProjectXCharacterGetProjectXAI () const
 
float GetTargetThreatLevel () const
 
FORCEINLINE bool HasTarget () const
 
virtual UObject * GetTarget () const
 
virtual bool CanSeeTarget () const
 
virtual bool IsWithinEngagementMaxRangeOfTarget () const
 
virtual bool IsWithinEngagementRangeOfTarget () const
 
virtual bool IsWithinFiringRangeOfTarget () const
 
virtual float GetSquareFiringDistance () const
 
virtual const FVector2D & GetSquareEngagementDistance () const
 
virtual void SetTarget (AActor *Target, ESetTargetEvent Context, bool bAllowDelays=true, float TargetThreatLevel=1.0f)
 
virtual bool SelectTarget (bool bDontReselectSameTarget, EAcquireTargetType SearchType)
 
virtual AActor * GetMoveActor () const
 
virtual void SetCanSeeTarget (bool bToggle)
 
virtual void SetIsWithinEngagementMaxRangeOfTarget (bool bToggle)
 
virtual void SetIsWithinEngagementRangeOfTarget (bool bToggle)
 
virtual void SetIsWithinFiringRangeOfTarget (bool bToggle)
 
template<class T >
T * GetTarget () const
 
virtual int32 GetTeam () const
 
virtual int32 SetTeam (int32 NewTeam)
 

Public Attributes

FText DisplayName = NSLOCTEXT("LEAP", "AI_DisplayName", "Bot")
 
int32 AllowableSimultaneousFailures = -1.0f
 
bool bSelectTargetOnPosssess = false
 
bool bAllowHeadshots = false
 
bool bTargetAttackers = true
 
bool bCanTargetAllies = false
 
bool bDropAllyTargetsIfThreatIsZero = false
 
bool CanLoseTarget = false
 
float AttentionSpan = 3.0f
 
TMap< ESetTargetEvent, float > TargetSwitchDelay
 
float ThreatDecayRate = 1.0f
 
float MaxFiringDistance = 8000.0f
 
FVector2D EngagementDistance = FVector2D(1000.0f, 5000.0f)
 
float VisibilityExtentTrace = 25.0f
 
float EngagementRangePadding = 300.0f
 
UProjectXAIPerception * PerceptionSystem = nullptr
 

Protected Member Functions

virtual void BeginPlay () override
 
virtual void CheckIfStuck ()
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void UpdateCanLoseTarget ()
 
virtual void UpdateThreatDecay ()
 
virtual void OnBehaviourTreeFailureReported ()
 
virtual void OnBehaviourTreeSuccess ()
 
virtual void OnPossess (APawn *InPawn) override
 
virtual void OnUnPossess () override
 
virtual int32 GetTeam () const override
 
virtual int32 SetTeam (int32 NewTeam) override
 
virtual FVector GetFocalPointOnActor (const AActor *Actor) const override
 
void OnTargetKilled (class AActor *Victim, const float Damage, struct FDamageEvent const &DamageEvent, const class AController *EventInstigator, const class AActor *DamageCauser, const class APlayerState *InstigatorPlayerState)
 
void OnTargetVehicleEnter (AProjectXCharacter *Driver, AProjectXVehicle *CurrentVehicle, AProjectXVehicle *PreviousVehicle)
 
void OnTargetVehicleExit (AProjectXVehicle *Vehicle, UVehicleSeatComponent *Seat, AProjectXCharacter *PreviousPassenger)
 
void OnPawnDeath (class AActor *Victim, const float Damage, struct FDamageEvent const &DamageEvent, const class AController *EventInstigator, const class AActor *DamageCauser, const class APlayerState *InstigatorPlayerState)
 
virtual void OnPerceptionUpdated (TArray< FProjectXPerceptionInfo > Perceptions)
 

Additional Inherited Members

- Static Public Member Functions inherited from ITeamInterface
static bool IsValidTeam (const ITeamInterface *const TeamInferface)
 

Constructor & Destructor Documentation

◆ AProjectXAIController()

AProjectXAIController::AProjectXAIController ( )

Member Function Documentation

◆ BeginPlay()

void AProjectXAIController::BeginPlay ( )
overrideprotectedvirtual

◆ CanSeeTarget()

virtual bool AProjectXAIController::CanSeeTarget ( ) const
inlinevirtual

◆ CheckIfStuck()

void AProjectXAIController::CheckIfStuck ( )
protectedvirtual

◆ EndPlay()

void AProjectXAIController::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
overrideprotectedvirtual

◆ GetFocalPointOnActor()

FVector AProjectXAIController::GetFocalPointOnActor ( const AActor *  Actor) const
overrideprotectedvirtual

◆ GetMoveActor()

virtual AActor * AProjectXAIController::GetMoveActor ( ) const
inlinevirtual

◆ GetProjectXAI()

AProjectXCharacter * AProjectXAIController::GetProjectXAI ( ) const

◆ GetSquareEngagementDistance()

virtual const FVector2D & AProjectXAIController::GetSquareEngagementDistance ( ) const
inlinevirtual

◆ GetSquareFiringDistance()

virtual float AProjectXAIController::GetSquareFiringDistance ( ) const
inlinevirtual

◆ GetTarget() [1/2]

UObject * AProjectXAIController::GetTarget ( ) const
virtual

◆ GetTarget() [2/2]

template<class T >
T * AProjectXAIController::GetTarget ( ) const
inline

◆ GetTargetThreatLevel()

float AProjectXAIController::GetTargetThreatLevel ( ) const

◆ GetTeam()

int32 AProjectXAIController::GetTeam ( ) const
overrideprotectedvirtual

Reimplemented from ITeamInterface.

◆ HasTarget()

FORCEINLINE bool AProjectXAIController::HasTarget ( ) const
inline

◆ IsWithinEngagementMaxRangeOfTarget()

virtual bool AProjectXAIController::IsWithinEngagementMaxRangeOfTarget ( ) const
inlinevirtual

◆ IsWithinEngagementRangeOfTarget()

virtual bool AProjectXAIController::IsWithinEngagementRangeOfTarget ( ) const
inlinevirtual

◆ IsWithinFiringRangeOfTarget()

virtual bool AProjectXAIController::IsWithinFiringRangeOfTarget ( ) const
inlinevirtual

◆ OnBehaviourTreeFailureReported()

void AProjectXAIController::OnBehaviourTreeFailureReported ( )
protectedvirtual

◆ OnBehaviourTreeSuccess()

void AProjectXAIController::OnBehaviourTreeSuccess ( )
protectedvirtual

◆ OnPawnDeath()

void AProjectXAIController::OnPawnDeath ( class AActor *  Victim,
const float  Damage,
struct FDamageEvent const &  DamageEvent,
const class AController *  EventInstigator,
const class AActor *  DamageCauser,
const class APlayerState *  InstigatorPlayerState 
)
protected

◆ OnPerceptionUpdated()

void AProjectXAIController::OnPerceptionUpdated ( TArray< FProjectXPerceptionInfo Perceptions)
protectedvirtual

◆ OnPossess()

void AProjectXAIController::OnPossess ( APawn *  InPawn)
overrideprotectedvirtual

◆ OnTargetKilled()

void AProjectXAIController::OnTargetKilled ( class AActor *  Victim,
const float  Damage,
struct FDamageEvent const &  DamageEvent,
const class AController *  EventInstigator,
const class AActor *  DamageCauser,
const class APlayerState *  InstigatorPlayerState 
)
protected

◆ OnTargetVehicleEnter()

void AProjectXAIController::OnTargetVehicleEnter ( AProjectXCharacter Driver,
AProjectXVehicle CurrentVehicle,
AProjectXVehicle PreviousVehicle 
)
protected

◆ OnTargetVehicleExit()

void AProjectXAIController::OnTargetVehicleExit ( AProjectXVehicle Vehicle,
UVehicleSeatComponent *  Seat,
AProjectXCharacter PreviousPassenger 
)
protected

◆ OnUnPossess()

void AProjectXAIController::OnUnPossess ( )
overrideprotectedvirtual

◆ SelectTarget()

bool AProjectXAIController::SelectTarget ( bool  bDontReselectSameTarget,
EAcquireTargetType  SearchType 
)
virtual

◆ SetCanSeeTarget()

virtual void AProjectXAIController::SetCanSeeTarget ( bool  bToggle)
inlinevirtual

◆ SetIsWithinEngagementMaxRangeOfTarget()

virtual void AProjectXAIController::SetIsWithinEngagementMaxRangeOfTarget ( bool  bToggle)
inlinevirtual

◆ SetIsWithinEngagementRangeOfTarget()

virtual void AProjectXAIController::SetIsWithinEngagementRangeOfTarget ( bool  bToggle)
inlinevirtual

◆ SetIsWithinFiringRangeOfTarget()

virtual void AProjectXAIController::SetIsWithinFiringRangeOfTarget ( bool  bToggle)
inlinevirtual

◆ SetTarget()

void AProjectXAIController::SetTarget ( AActor *  Target,
ESetTargetEvent  Context,
bool  bAllowDelays = true,
float  TargetThreatLevel = 1.0f 
)
virtual

◆ SetTeam()

int32 AProjectXAIController::SetTeam ( int32  NewTeam)
overrideprotectedvirtual

Reimplemented from ITeamInterface.

◆ UpdateCanLoseTarget()

void AProjectXAIController::UpdateCanLoseTarget ( )
protectedvirtual

◆ UpdateThreatDecay()

void AProjectXAIController::UpdateThreatDecay ( )
protectedvirtual

Member Data Documentation

◆ AllowableSimultaneousFailures

int32 AProjectXAIController::AllowableSimultaneousFailures = -1.0f

◆ AttentionSpan

float AProjectXAIController::AttentionSpan = 3.0f

◆ bAllowHeadshots

bool AProjectXAIController::bAllowHeadshots = false

◆ bCanTargetAllies

bool AProjectXAIController::bCanTargetAllies = false

◆ bDropAllyTargetsIfThreatIsZero

bool AProjectXAIController::bDropAllyTargetsIfThreatIsZero = false

◆ bSelectTargetOnPosssess

bool AProjectXAIController::bSelectTargetOnPosssess = false

◆ bTargetAttackers

bool AProjectXAIController::bTargetAttackers = true

◆ CanLoseTarget

bool AProjectXAIController::CanLoseTarget = false

◆ DisplayName

FText AProjectXAIController::DisplayName = NSLOCTEXT("LEAP", "AI_DisplayName", "Bot")

◆ EngagementDistance

FVector2D AProjectXAIController::EngagementDistance = FVector2D(1000.0f, 5000.0f)

◆ EngagementRangePadding

float AProjectXAIController::EngagementRangePadding = 300.0f

◆ MaxFiringDistance

float AProjectXAIController::MaxFiringDistance = 8000.0f

◆ PerceptionSystem

UProjectXAIPerception* AProjectXAIController::PerceptionSystem = nullptr

◆ TargetSwitchDelay

TMap<ESetTargetEvent, float> AProjectXAIController::TargetSwitchDelay

◆ ThreatDecayRate

float AProjectXAIController::ThreatDecayRate = 1.0f

◆ VisibilityExtentTrace

float AProjectXAIController::VisibilityExtentTrace = 25.0f

The documentation for this class was generated from the following files: