|
Apparatus
Version 1.3.0
ECS data-driven workflow for Unreal Engine.
|
The main entity of the Apparatus, consisting of traits. More...
#include <SubjectHandle.h>

Public Types | |
| enum | { InvalidId = FSubjectInfo::InvalidId , InvalidGeneration = FSubjectInfo::InvalidGeneration } |
Public Member Functions | |
| EApparatusStatus | Despawn () |
| Destroy the subject. More... | |
| bool | Contains (const UScriptStruct *TraitType) const |
| Check if a subject contains a trait. More... | |
| class UChunk * | GetChunk () const |
| Get the current chunk of the subject. More... | |
| bool | IsValid () const |
| Check if the subject is valid. More... | |
| operator bool () const | |
| Check if the subject is valid. More... | |
| EApparatusStatus | SetTrait (UScriptStruct *TraitType, const void *const TraitData) |
| Set a trait of the subject by its type. More... | |
| template<typename T > | |
| EApparatusStatus | SetTrait (const T &Trait) |
| Set a trait of the subject. More... | |
| EApparatusStatus | GetTrait (UScriptStruct *TraitType, void *const TraitData, const bool bTraitDataInitialized=true) const |
| Get a trait from a subject by its type. More... | |
| template<typename T > | |
| EApparatusStatus | GetTrait (T &OutTrait, const bool bTraitDataInitialized=true) const |
| Get a trait from a subject by its type. More... | |
| EApparatusStatus | ObtainTrait (UScriptStruct *TraitType, void *const TraitData, const bool bTraitDataInitialized=true) |
| Obtain a trait from a subject by its type. More... | |
| template<typename T > | |
| EApparatusStatus | ObtainTrait (T &OutTrait, const bool bTraitDataInitialized=true) |
| Obtain a trait from a subject. More... | |
| EApparatusStatus | RemoveTrait (UScriptStruct *TraitType) |
| Remove a trait from the subject. More... | |
| template<typename T > | |
| EApparatusStatus | RemoveTrait () |
| Remove a trait from the subject. More... | |
| bool | operator== (const FSubjectHandle &InSubject) const |
| Check if the subject handle points to the same subject as the other one. More... | |
| bool | operator!= (const FSubjectHandle &InSubject) const |
| Check if the subject handles point to different subjects. More... | |
| bool | HasTrait (UScriptStruct *const TraitType) const |
| Check if the subject has a certain trait. More... | |
| template<typename T > | |
| bool | HasTrait () const |
| Check if the subject has a certain trait. More... | |
| bool | HasDetail (TSubclassOf< UDetail > DetailClass) const |
| Check if the subject has a certain detail. More... | |
| template<typename T > | |
| bool | HasDetail () const |
| Check if the subject has a certain detail. More... | |
| TScriptInterface< ISubjective > | GetSubjective () const |
| Get a subjective this handle is associated with (if any). More... | |
| void | ResetHandle () const |
| Clear the subject handle, essentially making it invalid. More... | |
| uint32 | CalcHash () const |
| Calculate the hash-sum value for the handle. More... | |
Static Public Attributes | |
| static const FSubjectHandle | Invalid |
| A global constant for an invalid (NULL) subject handle. More... | |
Friends | |
| struct | FSubjectInfo |
| struct | FChunkChain |
| class | UChunk |
| class | UMachine |
| class | ISubjective |
The main entity of the Apparatus, consisting of traits.
This is a user-level handle structure, something like a pointer. The size of this structure is exactly 64-bit and may be passed by value.
| anonymous enum |
|
inline |
Calculate the hash-sum value for the handle.
|
inline |
Check if a subject contains a trait.
| TraitType | A trait to check for. |
| EApparatusStatus FSubjectHandle::Despawn | ( | ) |
Destroy the subject.
|
inline |
Get the current chunk of the subject.
|
inline |
Get a subjective this handle is associated with (if any).
|
inline |
Get a trait from a subject by its type.
Templated version.
| T | The type of the trait to get. |
| OutTrait | The trait receiver. |
| bTraitDataInitialized | Is the OutTrait actually initialized? |
|
inline |
Get a trait from a subject by its type.
| TraitType | The type of the trait to get. |
| TraitData | The trait data receiver. |
| bTraitDataInitialized | Is the TraitData buffer actually initialized? |
|
inline |
Check if the subject has a certain detail.
Templated version.
|
inline |
Check if the subject has a certain detail.
|
inline |
Check if the subject has a certain trait.
Templated version.
|
inline |
Check if the subject has a certain trait.
|
inline |
Check if the subject is valid.
true if the subject is valid. Otherwise, false is returned.
|
inline |
Obtain a trait from a subject.
Templated version.
If the trait is not currently within the subject, it gets created anew and the default value gets copied to the receiver.
| T | The type of the trait to obtain. |
| OutTrait | The trait receiver. |
| bTraitDataInitialized | Is the OutTrait actually initialized? |
|
inline |
Obtain a trait from a subject by its type.
If the trait is not currently within the subject, it gets created anewand the default value gets copied to the receiver.
| TraitType | The type of the trait to obtain. |
| TraitData | The trait data receiver. |
| bTraitDataInitialized | Is the TraitData buffer actually initialized? |
|
inline |
Check if the subject is valid.
true if the subject is valid. Otherwise, false is returned.
|
inline |
Check if the subject handles point to different subjects.
|
inline |
Check if the subject handle points to the same subject as the other one.
|
inline |
Remove a trait from the subject.
Templated version.
If there is no such trait in the subject, nothing is performed and EApparatusStatus::Noop is returned.
| T | The type of the trait to remove. |
|
inline |
Remove a trait from the subject.
If there is no such trait in the subject, nothing is performed and EApparatusStatus::Noop is returned.
| TraitType | The type of the trait to remove. |
|
inline |
Clear the subject handle, essentially making it invalid.
|
inline |
Set a trait of the subject.
Templated version.
If the trait is not currently within the subject, it gets created anew and set accordingly.
| T | A type of the trait to add. |
| Trait | A trait to initialize with. |
|
inline |
Set a trait of the subject by its type.
If the trait is not currently within the subject, it gets created anew and set accordingly
| TraitType | The type of the trait to add. |
| TraitData | The trait data to initialize with. |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
A global constant for an invalid (NULL) subject handle.