Apparatus Version 1.2.1
ECS data-driven workflow for Unreal Engine.
Public Member Functions | Protected Member Functions | Friends | List of all members
ASubjectiveActor Class Reference

An actor as a subject with details. More...

#include <SubjectiveActor.h>

Inheritance diagram for ASubjectiveActor:
Inheritance graph
[legend]
Collaboration diagram for ASubjectiveActor:
Collaboration graph
[legend]

Public Member Functions

 ASubjectiveActor ()
 
virtual void Tick (float DeltaTime) override
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
TArray< UDetail * > & GetDetailsRef () override
 Direct access for the internal details array. More...
 
const TArray< UDetail * > & GetDetailsRef () const override
 Direct access for the internal details array. More...
 
class UBeltGetPreferredBelt () const override
 Get the preferred belt of the subjective (if any). More...
 
- Public Member Functions inherited from ISubjective
const FFingerprintGetFingerprint () const
 Get the active fingerprint of the subjective. More...
 
bool Matches (const FFilter &Filter) const
 Check if the subjective matches a supplied filter. More...
 
bool Matches (const FTraitmark &InTraitmark) const
 Check if the subjective matches a supplied traitmark as a filter. More...
 
bool Matches (const FDetailmark &InDetailmark) const
 Check if the subjective matches a supplied detailmark as a filter. More...
 
void GetDetails (const bool bIncludeDisabled, TArray< UDetail * > &OutDetails) const
 Get the details of the subjective. More...
 
UDetailFindDetail (TSubclassOf< UDetail > DetailClass, const bool bIncludeDisabled=false) const
 Find the detail by a type. More...
 
void FindDetails (TSubclassOf< UDetail > DetailClass, TArray< UDetail * > &OutDetails, const bool bIncludeDisabled=false) const
 Find the details by their type. More...
 
bool HasDetail (TSubclassOf< UDetail > DetailClass, const bool bIncludeDisabled=false) const
 Check if there is a detail of specific class in the subjective. More...
 
class UDetailEnableDetail (TSubclassOf< UDetail > DetailClass)
 Enable a detail of a certain type. More...
 
class UDetailAddDetail (TSubclassOf< UDetail > DetailClass, const bool bReuseDisabled=false)
 Add a new active detail or reuse an inactive one. More...
 
EApparatusStatus DisableDetail (TSubclassOf< UDetail > DetailClass, const bool bDisableMultiple=false)
 Disable a certain detail(s) by type. More...
 
const struct FBeltSlotGetSlot () const
 Get the current belt slot of the subjective (if any). More...
 
bool IsRegistered () const
 Check if the subjective is registered within the machine. More...
 
int32 GetSlotIndex () const
 Get the current slot index of the subjective. More...
 
bool IsBooted () const
 Check if the subject is booted. More...
 
FSubjectHandleGetHandle ()
 Get the subject handle of this subjective. More...
 
const FSubjectHandleGetHandle () const
 Get the subject handle of this subjective. More...
 
virtual uint32 GetHash () const
 Get the hash of the subjective. More...
 

Protected Member Functions

virtual void BeginPlay () override
 
- Protected Member Functions inherited from ISubjective
void MarkBooted ()
 Set the subjective as booted. More...
 
void TakeBeltSlot (class UBelt *InBelt, int32 InSlotIndex)
 Set the current belt slot of the subjective (if any). More...
 
UBeltGetBelt () const
 Get the active belt of the subjective (if any). More...
 
FFingerprintGetFingerprint ()
 Get the internal fingerprint of the subjective. More...
 
struct FBeltSlotGetSlotPtr ()
 Get the current belt slot of the subjective (if any). More...
 

Friends

class FSubjectDetails
 

Additional Inherited Members

- Public Types inherited from ISubjective
enum  { InvalidSlotIndex = FBeltSlot::InvalidIndex }
 
- Protected Attributes inherited from ISubjective
TWeakObjectPtr< UBeltBelt = nullptr
 A weak reference to a current subjective's belt (if any). More...
 
int32 SlotIndex = FBeltSlot::InvalidIndex
 The index of the belt slot, this subject currently resides in. More...
 
FSubjectHandle Handle
 The subject handle which points to a global subjects registry. More...
 

Detailed Description

An actor as a subject with details.

Constructor & Destructor Documentation

◆ ASubjectiveActor()

ASubjectiveActor::ASubjectiveActor ( )

Member Function Documentation

◆ BeginPlay()

void ASubjectiveActor::BeginPlay ( )
overrideprotectedvirtual

◆ EndPlay()

void ASubjectiveActor::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
overridevirtual

◆ GetDetailsRef() [1/2]

const TArray<UDetail*>& ASubjectiveActor::GetDetailsRef ( ) const
inlineoverridevirtual

Direct access for the internal details array.

Constant version.

Reimplemented from ISubjective.

◆ GetDetailsRef() [2/2]

TArray<UDetail*>& ASubjectiveActor::GetDetailsRef ( )
inlineoverridevirtual

Direct access for the internal details array.

Reimplemented from ISubjective.

◆ GetPreferredBelt()

class UBelt* ASubjectiveActor::GetPreferredBelt ( ) const
inlineoverridevirtual

Get the preferred belt of the subjective (if any).

Reimplemented from ISubjective.

◆ Tick()

void ASubjectiveActor::Tick ( float  DeltaTime)
overridevirtual

Friends And Related Function Documentation

◆ FSubjectDetails

friend class FSubjectDetails
friend

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