Space Plunder
Loading...
Searching...
No Matches
FTrackedGravityActor Struct Reference

#include <GravityData.h>

Public Member Functions

 FTrackedGravityActor ()
 
 FTrackedGravityActor (AActor *Actor)
 
bool IsCharacter () const
 
bool IsValid () const
 
bool operator== (const FTrackedGravityActor &Other) const
 
bool operator== (const AActor *Other) const
 

Public Attributes

TObjectPtr< AActor > TrackedActor = nullptr
 
IALSCharacterInterfaceALSCharacter = nullptr
 
ICharacterBaseInterfaceCharacter = nullptr
 
UPrimitiveComponent * PrimitiveRoot = nullptr
 

Private Attributes

bool bIsCharacter = false
 
bool bIsALSCharacter = false
 

Constructor & Destructor Documentation

◆ FTrackedGravityActor() [1/2]

FTrackedGravityActor::FTrackedGravityActor ( )
inline
27{};

◆ FTrackedGravityActor() [2/2]

FTrackedGravityActor::FTrackedGravityActor ( AActor * Actor)
inline
29 {
30 if(Actor == nullptr){return;}
31 TrackedActor = Actor;
32 if(TrackedActor == nullptr){return;}
33 ICharacterBaseInterface* CharacterInterface = Cast<ICharacterBaseInterface>(Actor);
34 if(CharacterInterface == nullptr)
35 {
36 bIsCharacter = false;
37 if(TrackedActor->GetRootComponent() != nullptr)
38 {
39 UPrimitiveComponent* Primitive = Cast<UPrimitiveComponent>(TrackedActor->GetRootComponent());
40 if(Primitive != nullptr)
41 {
42 PrimitiveRoot = Primitive;
43 }
44 }
45 return;
46 }
47 bIsCharacter = true;
48 Character = CharacterInterface;
49 if(Character->GetPrimitiveComponent() != nullptr)
50 {
52 }
53 IALSCharacterInterface* ALSInterface = Cast<IALSCharacterInterface>(Actor);
54 if(ALSInterface == nullptr){bIsALSCharacter = false; return;}
55 bIsALSCharacter = true;
56 ALSCharacter = ALSInterface;
57 };
Definition ALSCharacterInterface.h:24
Definition CustomCharacter.h:19
virtual UPrimitiveComponent * GetPrimitiveComponent()=0
IALSCharacterInterface * ALSCharacter
Definition GravityData.h:22
ICharacterBaseInterface * Character
Definition GravityData.h:23
bool bIsCharacter
Definition GravityData.h:95
UPrimitiveComponent * PrimitiveRoot
Definition GravityData.h:25
TObjectPtr< AActor > TrackedActor
Definition GravityData.h:20
bool bIsALSCharacter
Definition GravityData.h:97

Member Function Documentation

◆ IsCharacter()

bool FTrackedGravityActor::IsCharacter ( ) const
inline
60 {
61 return bIsCharacter;
62 }

◆ IsValid()

bool FTrackedGravityActor::IsValid ( ) const
inline
65 {
66 if(TrackedActor == nullptr){return false;}
67 if(bIsCharacter && Character == nullptr){return false;}
68 if(PrimitiveRoot == nullptr){return false;}
69 if(bIsCharacter == false)
70 {
71 if(PrimitiveRoot->IsAnySimulatingPhysics() && PrimitiveRoot->IsGravityEnabled())
72 {
73 return true;
74 }
75 return false;
76 }
77 return true;
78 }

◆ operator==() [1/2]

bool FTrackedGravityActor::operator== ( const AActor * Other) const
inline
87 {
88 if(Other == nullptr || TrackedActor == nullptr){return false;}
89 if(Other == TrackedActor){return true;}
90 return false;
91 }

◆ operator==() [2/2]

bool FTrackedGravityActor::operator== ( const FTrackedGravityActor & Other) const
inline
81 {
82 if(Other.TrackedActor == nullptr || TrackedActor == nullptr){return false;}
83 if(Other.TrackedActor == TrackedActor){return true;}
84 return false;
85 }

Member Data Documentation

◆ ALSCharacter

IALSCharacterInterface* FTrackedGravityActor::ALSCharacter = nullptr

List of tracked Characters that are affected by gravity settings.

◆ bIsALSCharacter

bool FTrackedGravityActor::bIsALSCharacter = false
private

◆ bIsCharacter

bool FTrackedGravityActor::bIsCharacter = false
private

◆ Character

ICharacterBaseInterface* FTrackedGravityActor::Character = nullptr

◆ PrimitiveRoot

UPrimitiveComponent* FTrackedGravityActor::PrimitiveRoot = nullptr

◆ TrackedActor

TObjectPtr<AActor> FTrackedGravityActor::TrackedActor = nullptr

List of tracked Actors that are affected by gravity settings.


The documentation for this struct was generated from the following file: