| 
    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.