LEAP Documentation 40220
Documentation for the LEAP project
ACapturePoint Class Reference

#include <CapturePoint.h>

Inheritance diagram for ACapturePoint:
ISpawnTargetInterface IReactsToMatchEvents ITeamInterface ITrackableInterface AObjectiveCapturePoint AShieldGenerator

Public Member Functions

virtual void Tick (float DeltaTime) override
 
virtual void TickCapture (float DeltaTime)
 
virtual int32 GetActorTeam (AActor *Target) const
 
virtual int32 GetTeam () const override
 
virtual int32 SetTeam (int32 NewTeam) override
 
virtual float GetRadarIconSize () const
 
virtual TSoftObjectPtr< UTexture2D > GetRadarIcon () const override
 
virtual float GetRadarIconOpacity () const override
 
virtual const FText & GetRadarLabel () const
 
virtual void SetRadarIconOpacity (float Opacity) override
 
virtual bool RegisterOnStart () const override
 
virtual FStopTrackingActorSignature & GetStopTrackingEvent () override
 
int32 GetSortOrder () const
 
FText GetPointName () const
 
virtual void SetLocked (bool bNewLocked)
 
virtual bool GetIsLocked () const
 
const FCaptureInfoGetCaptureInfo () const
 
FORCEINLINE float GetCaptureRadius () const
 
virtual void Initialize (int32 NumberOfCheckPointsOverride=INDEX_NONE, float PerPlayerCaptureRateOverride=INDEX_NONE)
 
virtual bool CanSpawnPlayer (const AProjectXPlayerState *Instigator) const override
 
virtual float GetSpawnScoreForInstigator (const AActor *const QueryInstigator, FVector &TargetLocation, bool bUseDistanceToTargetLocation=false) const override
 
virtual bool GetSpawnLocation (AProjectXPlayerState *Instigator, FTransform &Transform) const override
 
void TriggerDelayedActivation ()
 
virtual AActor * GetPlayerStart (class AController *Player) const
 
virtual AActor * GetTrackableInterfaceActor () override
 
virtual void MatchEnded () override
 
- Public Member Functions inherited from ISpawnTargetInterface
virtual void RegisterActorForScoring ()
 
virtual void DeRegisterActorForScoring ()
 
virtual bool CanSpawnPlayer (const AProjectXPlayerState *Instigator) const
 
virtual bool GetSpawnLocation (AProjectXPlayerState *Instigator, FTransform &Transform) const
 
virtual float GetSpawnScoreForInstigator (const AActor *const QueryInstigator, FVector &TargetLocation, bool bUseDistanceToTargetLocation=false) const
 
virtual bool GetCanSpawnOnCombatTarget () const
 
virtual void UpdateCanSpawnOnCombatTarget (bool bNewInCombatSpawnTarget)
 
virtual bool ShouldRegisterForScoringOnStart () const
 
- Public Member Functions inherited from IReactsToMatchEvents
void OnMatchStarted ()
 
virtual void MatchStarted ()
 
void OnMatchEnded ()
 
virtual void MatchEnded ()
 
virtual int32 GetTeam () const
 
virtual int32 SetTeam (int32 NewTeam)
 
- Public Member Functions inherited from ITrackableInterface
virtual void BroadcastTrackableActor ()
 
virtual FStopTrackingActorSignature & GetStopTrackingEvent ()
 
virtual TSoftObjectPtr< UTexture2D > GetMapIcon () const
 
virtual TSoftObjectPtr< UTexture2D > GetRadarIcon () const
 
virtual TSoftObjectPtr< UTexture2D > GetHudIcon () const
 
virtual AActor * GetTrackableInterfaceActor ()
 
virtual float GetRadarIconSize () const
 
virtual float GetRadarIconOpacity () const
 
virtual float GetRadarIconEnemyOpacity () const
 
virtual bool GetRadarIconCompensantesRotation () const
 
virtual bool GetAllyVisibilityResponse ()
 
virtual const FText & GetRadarLabel () const
 
virtual void SetRadarIconOpacity (float Opacity)
 
virtual bool IsCloaked () const
 
virtual bool RegisterOnStart () const
 

Static Public Member Functions

static void GetAllControlPoints (const UObject *WorldContextObject, TArray< class ACapturePoint * > &CapturePointList)
 
static void GetBaseControlEventTableRow (const FBaseControlEventTableRow &TableRow, FString &AllySound, FString &EnemySound)
 
- Static Public Member Functions inherited from ISpawnTargetInterface
static const void GetAverageEnemyTeamLocation (const UObject *Caller, TArray< AActor * > &AvailableSpawnPoints, FVector &AverageEnemyLocation)
 
static AActor * GetFurthestLocationFromOtherPlayers (const UObject *Caller, TArray< AActor * > &AvailableSpawnPoints)
 
static AActor * GetRandomSafeSpawnLocation (const UObject *Caller, TArray< AActor * > &AvailableSpawnPoints, float MaximumSpawnDistance, float MinimumSpawnDistance)
 
- Static Public Member Functions inherited from ITeamInterface
static bool IsValidTeam (const ITeamInterface *const TeamInferface)
 

Public Attributes

FControlPointOwnerChangedSignature OnControlPointOwnerChanged
 
FCaptureInfoChanged OnCaptureInfoChanged
 
FCapturePointLockChangedSignature OnCapturePointLockChangedEvent
 
FControlPointOwnerChangedSignature OnPointBeingClaimedEvent
 
FStopTrackingActorSignature StopTrackingCapturePointEvent
 

Protected Member Functions

virtual void BeginPlay () override
 
virtual void CollectPlayerStartList ()
 
void OnOverlap (UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult &SweepResult)
 
void OnOverlapEnd (UPrimitiveComponent *OverlappedComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, int32 OtherBodyIndex)
 
void UpdateProcessedOccupants ()
 
void CollectInitialOverlaps ()
 
void OnVehiclePassengerChanged (AProjectXVehicle *Vehicle, UVehicleSeatComponent *Seat=NULL, AProjectXCharacter *PreviousPassenger=NULL)
 
bool DoesOccupantHaveAnInvalidAffliction (UAfflictionComponent *AfflictionComponent)
 
void OnRep_Locked ()
 
void OnRep_TeamOwner ()
 
void OnRep_CaptureInfo ()
 
void OnPointOwnerChanged (int LastOwner)
 
void OnCaptureComplete ()
 
void OnCapturePointLockChanged (bool bIsLock)
 
void ResetPoint ()
 
void ChangeCaptureProgress (float Amount)
 
int32 GetTopCapturingTeam () const
 
int32 GetSecondCapturingTeam () const
 
void UpdateCheckPoint ()
 
void SetCaptureInfo (int32 &NumberOfPlayers, int32 &Direction)
 
void AwardCapture (ECaptureType Type, int32 AwardingTeam)
 
const TSubclassOf< UExperienceEventGetExpEventOverride (EXPEventType Type) const
 

Protected Attributes

int32 DefaultTeam = INDEX_NONE
 
TSoftObjectPtr< UTexture2D > RadarIcon = nullptr
 
float RadarIconOpacity = 0.3f
 
bool bRegisterOnBeginPlay = true
 
bool bIsTrackableWhenLocked = true
 
TSet< uint8 > ValidCaptureTeams = TSet<uint8>({0,1})
 
float LockedScoringWeight = 0.5f
 
float ControlPointDistanceScoringWeight = 10000.f
 
float CaptureDecayRate = 0.05f
 
float MaxSpawnPointSearchDistance = 10000.0f
 
float MinSpawnPointSearchDistance = 3000.0f
 
int32 SortOrder = INDEX_NONE
 
UCapsuleComponent * CapsuleComponent = NULL
 
TArray< class AStartPointVolume * > StartPointVolumes
 
FText PointName = FText::FromString("X")
 
TArray< TSubclassOf< UAfflictionInstance > > InvalidAfflictionClasses
 
bool bIgnoreTeamWhenSpawning = false
 
bool bResetOnLocked = false
 
float DelayActivationTime = 0.0f
 
TMap< EXPEventType, TSubclassOf< UExperienceEvent > > ExperienceEventOverrides
 
bool bLocked = false
 
int32 TeamOwner = INDEX_NONE
 
FCaptureInfo CaptureInfo
 
TArray< TWeakObjectPtr< AProjectXCharacter > > PlayerOccupants
 
TArray< AActor * > PlayerStartList
 
TMap< int32, int32 > NumberOfOccupantsByTeam
 
TArray< int32 > TeamStandings
 
TArray< float > CaptureCheckPoints
 
int32 CapturingTeam = INDEX_NONE
 
float PerPlayerCaptureRate = 0.1f
 
int32 NumberOfCheckPoints
 
FTimerHandle DelayedUnlockHandle
 

Member Function Documentation

◆ AwardCapture()

void ACapturePoint::AwardCapture ( ECaptureType  Type,
int32  AwardingTeam 
)
protected

◆ BeginPlay()

void ACapturePoint::BeginPlay ( )
overrideprotectedvirtual

Reimplemented in AShieldGenerator.

◆ CanSpawnPlayer()

bool ACapturePoint::CanSpawnPlayer ( const AProjectXPlayerState Instigator) const
overridevirtual

Reimplemented from ISpawnTargetInterface.

Reimplemented in AShieldGenerator.

◆ ChangeCaptureProgress()

void ACapturePoint::ChangeCaptureProgress ( float  Amount)
protected

◆ CollectInitialOverlaps()

void ACapturePoint::CollectInitialOverlaps ( )
protected

◆ CollectPlayerStartList()

void ACapturePoint::CollectPlayerStartList ( )
protectedvirtual

◆ DoesOccupantHaveAnInvalidAffliction()

bool ACapturePoint::DoesOccupantHaveAnInvalidAffliction ( UAfflictionComponent *  AfflictionComponent)
protected

◆ GetActorTeam()

int32 ACapturePoint::GetActorTeam ( AActor *  Target) const
virtual

◆ GetAllControlPoints()

void ACapturePoint::GetAllControlPoints ( const UObject *  WorldContextObject,
TArray< class ACapturePoint * > &  CapturePointList 
)
static

◆ GetBaseControlEventTableRow()

void ACapturePoint::GetBaseControlEventTableRow ( const FBaseControlEventTableRow TableRow,
FString &  AllySound,
FString &  EnemySound 
)
static

◆ GetCaptureInfo()

const FCaptureInfo & ACapturePoint::GetCaptureInfo ( ) const
inline

◆ GetCaptureRadius()

FORCEINLINE float ACapturePoint::GetCaptureRadius ( ) const
inline

◆ GetExpEventOverride()

const TSubclassOf< UExperienceEvent > ACapturePoint::GetExpEventOverride ( EXPEventType  Type) const
protected

◆ GetIsLocked()

virtual bool ACapturePoint::GetIsLocked ( ) const
inlinevirtual

◆ GetPlayerStart()

AActor * ACapturePoint::GetPlayerStart ( class AController *  Player) const
virtual

◆ GetPointName()

FText ACapturePoint::GetPointName ( ) const
inline

◆ GetRadarIcon()

virtual TSoftObjectPtr< UTexture2D > ACapturePoint::GetRadarIcon ( ) const
inlineoverridevirtual

Reimplemented from ITrackableInterface.

◆ GetRadarIconOpacity()

virtual float ACapturePoint::GetRadarIconOpacity ( ) const
inlineoverridevirtual

Reimplemented from ITrackableInterface.

◆ GetRadarIconSize()

virtual float ACapturePoint::GetRadarIconSize ( ) const
inlinevirtual

Reimplemented from ITrackableInterface.

◆ GetRadarLabel()

virtual const FText & ACapturePoint::GetRadarLabel ( ) const
inlinevirtual

Reimplemented from ITrackableInterface.

◆ GetSecondCapturingTeam()

int32 ACapturePoint::GetSecondCapturingTeam ( ) const
inlineprotected

◆ GetSortOrder()

int32 ACapturePoint::GetSortOrder ( ) const
inline

◆ GetSpawnLocation()

bool ACapturePoint::GetSpawnLocation ( AProjectXPlayerState Instigator,
FTransform &  Transform 
) const
overridevirtual

Reimplemented from ISpawnTargetInterface.

◆ GetSpawnScoreForInstigator()

float ACapturePoint::GetSpawnScoreForInstigator ( const AActor *const  QueryInstigator,
FVector &  TargetLocation,
bool  bUseDistanceToTargetLocation = false 
) const
overridevirtual

Reimplemented from ISpawnTargetInterface.

◆ GetStopTrackingEvent()

virtual FStopTrackingActorSignature & ACapturePoint::GetStopTrackingEvent ( )
inlineoverridevirtual

Reimplemented from ITrackableInterface.

◆ GetTeam()

virtual int32 ACapturePoint::GetTeam ( ) const
inlineoverridevirtual

Reimplemented from ITeamInterface.

◆ GetTopCapturingTeam()

int32 ACapturePoint::GetTopCapturingTeam ( ) const
inlineprotected

◆ GetTrackableInterfaceActor()

virtual AActor * ACapturePoint::GetTrackableInterfaceActor ( )
inlineoverridevirtual

Reimplemented from ITrackableInterface.

◆ Initialize()

void ACapturePoint::Initialize ( int32  NumberOfCheckPointsOverride = INDEX_NONE,
float  PerPlayerCaptureRateOverride = INDEX_NONE 
)
virtual

Reimplemented in AObjectiveCapturePoint, and AShieldGenerator.

◆ MatchEnded()

void ACapturePoint::MatchEnded ( )
overridevirtual

Reimplemented from IReactsToMatchEvents.

◆ OnCaptureComplete()

void ACapturePoint::OnCaptureComplete ( )
protected

◆ OnCapturePointLockChanged()

void ACapturePoint::OnCapturePointLockChanged ( bool  bIsLock)
protected

◆ OnOverlap()

void ACapturePoint::OnOverlap ( UPrimitiveComponent *  OverlappedComponent,
AActor *  OtherActor,
UPrimitiveComponent *  OtherComp,
int32  OtherBodyIndex,
bool  bFromSweep,
const FHitResult &  SweepResult 
)
protected

◆ OnOverlapEnd()

void ACapturePoint::OnOverlapEnd ( UPrimitiveComponent *  OverlappedComponent,
AActor *  OtherActor,
UPrimitiveComponent *  OtherComp,
int32  OtherBodyIndex 
)
protected

◆ OnPointOwnerChanged()

void ACapturePoint::OnPointOwnerChanged ( int  LastOwner)
protected

◆ OnRep_CaptureInfo()

void ACapturePoint::OnRep_CaptureInfo ( )
protected

◆ OnRep_Locked()

void ACapturePoint::OnRep_Locked ( )
protected

◆ OnRep_TeamOwner()

void ACapturePoint::OnRep_TeamOwner ( )
protected

◆ OnVehiclePassengerChanged()

void ACapturePoint::OnVehiclePassengerChanged ( AProjectXVehicle Vehicle,
UVehicleSeatComponent *  Seat = NULL,
AProjectXCharacter PreviousPassenger = NULL 
)
protected

◆ RegisterOnStart()

virtual bool ACapturePoint::RegisterOnStart ( ) const
inlineoverridevirtual

Reimplemented from ITrackableInterface.

◆ ResetPoint()

void ACapturePoint::ResetPoint ( )
protected

◆ SetCaptureInfo()

void ACapturePoint::SetCaptureInfo ( int32 &  NumberOfPlayers,
int32 &  Direction 
)
protected

◆ SetLocked()

void ACapturePoint::SetLocked ( bool  bNewLocked)
virtual

Reimplemented in AShieldGenerator.

◆ SetRadarIconOpacity()

virtual void ACapturePoint::SetRadarIconOpacity ( float  Opacity)
inlineoverridevirtual

Reimplemented from ITrackableInterface.

◆ SetTeam()

int32 ACapturePoint::SetTeam ( int32  NewTeam)
overridevirtual

Reimplemented from ITeamInterface.

◆ Tick()

void ACapturePoint::Tick ( float  DeltaTime)
overridevirtual

◆ TickCapture()

void ACapturePoint::TickCapture ( float  DeltaTime)
virtual

◆ TriggerDelayedActivation()

void ACapturePoint::TriggerDelayedActivation ( )

◆ UpdateCheckPoint()

void ACapturePoint::UpdateCheckPoint ( )
protected

◆ UpdateProcessedOccupants()

void ACapturePoint::UpdateProcessedOccupants ( )
protected

Member Data Documentation

◆ bIgnoreTeamWhenSpawning

bool ACapturePoint::bIgnoreTeamWhenSpawning = false
protected

◆ bIsTrackableWhenLocked

bool ACapturePoint::bIsTrackableWhenLocked = true
protected

◆ bLocked

bool ACapturePoint::bLocked = false
protected

◆ bRegisterOnBeginPlay

bool ACapturePoint::bRegisterOnBeginPlay = true
protected

◆ bResetOnLocked

bool ACapturePoint::bResetOnLocked = false
protected

◆ CapsuleComponent

UCapsuleComponent* ACapturePoint::CapsuleComponent = NULL
protected

◆ CaptureCheckPoints

TArray<float> ACapturePoint::CaptureCheckPoints
protected

◆ CaptureDecayRate

float ACapturePoint::CaptureDecayRate = 0.05f
protected

◆ CaptureInfo

FCaptureInfo ACapturePoint::CaptureInfo
protected

◆ CapturingTeam

int32 ACapturePoint::CapturingTeam = INDEX_NONE
protected

◆ ControlPointDistanceScoringWeight

float ACapturePoint::ControlPointDistanceScoringWeight = 10000.f
protected

◆ DefaultTeam

int32 ACapturePoint::DefaultTeam = INDEX_NONE
protected

◆ DelayActivationTime

float ACapturePoint::DelayActivationTime = 0.0f
protected

◆ DelayedUnlockHandle

FTimerHandle ACapturePoint::DelayedUnlockHandle
protected

◆ ExperienceEventOverrides

TMap<EXPEventType,TSubclassOf<UExperienceEvent> > ACapturePoint::ExperienceEventOverrides
protected

◆ InvalidAfflictionClasses

TArray<TSubclassOf<UAfflictionInstance> > ACapturePoint::InvalidAfflictionClasses
protected

◆ LockedScoringWeight

float ACapturePoint::LockedScoringWeight = 0.5f
protected

◆ MaxSpawnPointSearchDistance

float ACapturePoint::MaxSpawnPointSearchDistance = 10000.0f
protected

◆ MinSpawnPointSearchDistance

float ACapturePoint::MinSpawnPointSearchDistance = 3000.0f
protected

◆ NumberOfCheckPoints

int32 ACapturePoint::NumberOfCheckPoints
protected

◆ NumberOfOccupantsByTeam

TMap<int32, int32> ACapturePoint::NumberOfOccupantsByTeam
protected

◆ OnCaptureInfoChanged

FCaptureInfoChanged ACapturePoint::OnCaptureInfoChanged

◆ OnCapturePointLockChangedEvent

FCapturePointLockChangedSignature ACapturePoint::OnCapturePointLockChangedEvent

◆ OnControlPointOwnerChanged

FControlPointOwnerChangedSignature ACapturePoint::OnControlPointOwnerChanged

◆ OnPointBeingClaimedEvent

FControlPointOwnerChangedSignature ACapturePoint::OnPointBeingClaimedEvent

◆ PerPlayerCaptureRate

float ACapturePoint::PerPlayerCaptureRate = 0.1f
protected

◆ PlayerOccupants

TArray<TWeakObjectPtr<AProjectXCharacter> > ACapturePoint::PlayerOccupants
protected

◆ PlayerStartList

TArray<AActor*> ACapturePoint::PlayerStartList
protected

◆ PointName

FText ACapturePoint::PointName = FText::FromString("X")
protected

◆ RadarIcon

TSoftObjectPtr<UTexture2D> ACapturePoint::RadarIcon = nullptr
protected

◆ RadarIconOpacity

float ACapturePoint::RadarIconOpacity = 0.3f
protected

◆ SortOrder

int32 ACapturePoint::SortOrder = INDEX_NONE
protected

◆ StartPointVolumes

TArray<class AStartPointVolume*> ACapturePoint::StartPointVolumes
protected

◆ StopTrackingCapturePointEvent

FStopTrackingActorSignature ACapturePoint::StopTrackingCapturePointEvent

◆ TeamOwner

int32 ACapturePoint::TeamOwner = INDEX_NONE
protected

◆ TeamStandings

TArray<int32> ACapturePoint::TeamStandings
protected

◆ ValidCaptureTeams

TSet<uint8> ACapturePoint::ValidCaptureTeams = TSet<uint8>({0,1})
protected

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