Apparatus
Version 1.7
ECS data-driven workflow for Unreal Engine.
|
An iterable belt sequence holder. More...
#include <Chain.h>
Public Types | |
enum | { InvalidId = -1 , FirstId = 0 , InvalidCursorId = -1 , DefaultCursorId = 0 , InvalidSegmentIndex = -1 } |
Public Member Functions | |
EApparatusStatus | Reset () |
Unchain the belts and reset the state completely. More... | |
template<typename TAllocator > | |
EApparatusStatus | Enchain (const FFilter &InFilter, const TArray< UChunk *, TAllocator > &InChunks) |
Set to chain a set of chunks with a filter. More... | |
template<typename TAllocator > | |
EApparatusStatus | Enchain (const FFilter &InFilter, const TArray< UBelt *, TAllocator > &InBelts) |
Set to chain a set of belts with a filter. More... | |
int32 | FindSegment (const int32 InSlotIndex) const |
Find a certain chain segment by a chain slot index. More... | |
bool | Begin (const int32 CursorId=DefaultCursorId) const |
Begin iterating the chain. More... | |
bool | Advance (const int32 CursorId=DefaultCursorId) const |
Advance iterating the chain to the next index. More... | |
bool | BeginOrAdvance (const int32 CursorId=DefaultCursorId) const |
Begin or advance iterating the chain. More... | |
FChain & | operator= (FChain &&InChain) |
Move a chain. More... | |
FChain & | operator= (const FChain &InChain) |
Set a chain equal to another chain. More... | |
FSubjectHandle | GetSubject (const int32 CursorId=DefaultCursorId) const |
Get the subject of the current iteration. More... | |
TScriptInterface< ISubjective > | GetSubjective (const int32 CursorId=DefaultCursorId) const |
Get the subjective of the current iteration (if any). More... | |
EApparatusStatus | GetTrait (const int32 CursorId, UScriptStruct *TraitType, void *const OutTraitData, const bool bTraitDataInitialized=true) const |
Get a trait on the current iteration. More... | |
void * | GetTrait (const int32 CursorId, UScriptStruct *const TraitType) const |
Get a trait on the current iteration. More... | |
template<typename T > | |
T & | GetTrait (const int32 CursorId) const |
Get a trait on the current iteration. More... | |
void * | GetTrait (UScriptStruct *const TraitType) const |
Get a trait on the current iteration. More... | |
template<typename T > | |
T & | GetTrait () const |
Get a trait on the current iteration. More... | |
EApparatusStatus | GetTrait (UScriptStruct *TraitType, void *const OutTraitData, const bool bTraitDataInitialized=true) const |
Get the trait on the current iteration. More... | |
template<typename T > | |
EApparatusStatus | GetTrait (const int32 CursorId, T &OutTraitData, const bool bTraitDataInitialized=true) const |
Get a trait on the current iteration. More... | |
template<typename T > | |
EApparatusStatus | GetTrait (T &OutTraitData, const bool bTraitDataInitialized=true) const |
Get the trait on the current iteration. More... | |
void * | GetTraitHinted (const int32 CursorId, UScriptStruct *const TraitType, const int32 TraitIndexHint) const |
Get the trait on the current iteration at a specified index hinted. More... | |
void * | GetTraitHinted (UScriptStruct *const TraitType, const int32 TraitIndexHint) const |
Get the trait on the current iteration at a specified index hinted. More... | |
template<typename T > | |
T & | GetTraitHinted (const int32 CursorId, const int32 TraitIndexHint) const |
Get the trait on the current iteration at a specified index hinted. More... | |
template<typename T > | |
T & | GetTraitHinted (const int32 TraitIndexHint) const |
Get the trait on the current iteration at a specified index hinted. More... | |
EApparatusStatus | GetTraitHinted (const int32 CursorId, UScriptStruct *TraitType, const int32 TraitIndexHint, void *const OutTraitData, const bool bTraitDataInitialized=true) const |
Get the trait on the current iteration at a specified index hinted. More... | |
EApparatusStatus | GetTraitHinted (UScriptStruct *TraitType, const int32 TraitIndexHint, void *const OutTraitData, const bool bTraitDataInitialized=true) const |
Get the trait on the current iteration at a specified index hinted. More... | |
template<typename T > | |
EApparatusStatus | GetTraitHinted (const int32 CursorId, const int32 TraitIndexHint, T &OutTraitData, const bool bTraitDataInitialized=true) const |
Get the trait on the current iteration at a specified index hinted. More... | |
template<typename T > | |
EApparatusStatus | GetTraitHinted (const int32 TraitIndexHint, T &OutTraitData, const bool bTraitDataInitialized=true) const |
Get the trait on the current iteration at a specified index hinted. More... | |
UDetail * | GetDetail (const int32 CursorId, const TSubclassOf< UDetail > DetailClass) const |
Get a detail of a specific type on the current iteration. More... | |
UDetail * | GetDetail (const TSubclassOf< UDetail > DetailClass) const |
Get the detail on the current iteration of a certain class. More... | |
template<typename T > | |
T * | GetDetail (const int32 CursorId=DefaultCursorId) const |
Get the detail on the current iteration of a certain class. More... | |
UDetail * | GetDetailHinted (const int32 CursorId, const TSubclassOf< UDetail > DetailClass, const int32 IndexHint) const |
Get the detail on the current iteration at a certain index. More... | |
UDetail * | GetDetailHinted (const TSubclassOf< UDetail > DetailClass, const int32 IndexHint) const |
Get the detail on the current iteration at a certain index. More... | |
template<typename T > | |
T * | GetDetailHinted (const int32 CursorId, const int32 IndexHint) const |
Get the detail on the current iteration at a certain index. More... | |
template<typename T > | |
T * | GetDetailHinted (const int32 IndexHint) const |
Get the detail on the current iteration at a certain index. More... | |
FChain () | |
The default constructor leaving the chain uninitialized. More... | |
FChain (FChain &InChain) | |
Construct a new chain as a copy of another one. More... | |
bool | IsIterating () const |
Check if the chain currently being iterated by some cursor. More... | |
int32 | IterableNum () const |
Get the total number of iterable entities available. More... | |
bool | IsUsed () const |
Check if the chain is currently used (not available to be reused). More... | |
Friends | |
class | UApparatusFunctionLibrary |
class | UMachine |
An iterable belt sequence holder.
anonymous enum |
|
inline |
The default constructor leaving the chain uninitialized.
|
inline |
Construct a new chain as a copy of another one.
InChain | A chain to copy. |
|
inline |
Advance iterating the chain to the next index.
|
inline |
Begin iterating the chain.
|
inline |
Begin or advance iterating the chain.
false
if the iteration should be ended.
|
inline |
Set to chain a set of belts with a filter.
InFilter | The target filter to enchain with. |
InBelts | The belts to enchain. |
|
inline |
Set to chain a set of chunks with a filter.
InFilter | The target filter to enchain with. |
InChunks | The chunks to enchain. |
|
inline |
Find a certain chain segment by a chain slot index.
|
inline |
Get a detail of a specific type on the current iteration.
|
inline |
Get the detail on the current iteration of a certain class.
Templated version.
Get the detail on the current iteration of a certain class.
|
inline |
Get the detail on the current iteration at a certain index.
Templated version.
T | The class of the detail to get. |
CursorId | The identifier of the cursor. |
IndexHint | The index of the detail hinting. |
|
inline |
Get the detail on the current iteration at a certain index.
|
inline |
Get the detail on the current iteration at a certain index.
Templated version.
T | The class of the detail to get. |
IndexHint | The index of the detail hinting. |
|
inline |
Get the detail on the current iteration at a certain index.
DetailClass | The class of the detail to get. |
IndexHint | The index of the detail hinting. |
|
inline |
Get the subject of the current iteration.
|
inline |
Get the subjective of the current iteration (if any).
nullptr
, if there is none.
|
inline |
Get a trait on the current iteration.
T | The type of the trait to get. |
|
inline |
Get a trait on the current iteration.
T | The type of the trait to get. |
CursorId | The identifier of the cursor to get from. |
|
inline |
Get a trait on the current iteration.
Templated version.
T | The type of the trait to get. |
CursorId | The identifier of the cursor to get from. |
OutTraitData | The output trait data buffer. The size of the buffer must be enough to store the whole trait. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get a trait on the current iteration.
CursorId | The identifier of the cursor to get from. |
TraitType | The type of the trait. |
|
inline |
Get a trait on the current iteration.
CursorId | The identifier of the cursor to get from. |
TraitType | The type of the trait. |
OutTraitData | The output trait data. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get the trait on the current iteration.
Templated version.
T | The type of the trait. |
OutTraitData | The output trait data. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get a trait on the current iteration.
TraitType | The type of the trait. |
|
inline |
Get the trait on the current iteration.
TraitType | The type of the trait to get. |
OutTraitData | The output trait data buffer. The size of the buffer must be enough to store the whole trait. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get the trait on the current iteration at a specified index hinted.
Templated version.
T | The type of the trait to get. |
CursorId | The identifier of the cursor to get from. |
TraitIndexHint | The index of the trait. |
|
inline |
Get the trait on the current iteration at a specified index hinted.
Templated version.
T | The type of the trait to get. |
CursorId | The identifier of the cursor to get from. |
TraitIndexHint | The index of the trait hinting. |
OutTraitData | The output trait data. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get the trait on the current iteration at a specified index hinted.
CursorId | The identifier of the cursor to get from. |
TraitIndexHint | The index of the trait. |
TraitType | The type of the trait to get. |
|
inline |
Get the trait on the current iteration at a specified index hinted.
CursorId | The identifier of the cursor to get from. |
TraitIndexHint | The index of the trait. |
TraitType | The type of the trait. |
OutTraitData | The output trait data. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get the trait on the current iteration at a specified index hinted.
Templated version.
T | The type of the trait to get. |
TraitIndexHint | The index of the trait. |
|
inline |
Get the trait on the current iteration at a specified index hinted.
Templated version.
T | The type of the trait. |
TraitIndexHint | The index of the trait hint. |
OutTraitData | The output trait data. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Get the trait on the current iteration at a specified index hinted.
TraitIndexHint | The index of the trait. |
TraitType | The type of the trait to get. |
|
inline |
Get the trait on the current iteration at a specified index hinted.
TraitType | The type of the trait to get. |
TraitIndexHint | The index of the trait hinting. |
OutTraitData | The output trait data. |
bTraitDataInitialized | Was trait data initialized prior to calling this function? |
|
inline |
Check if the chain currently being iterated by some cursor.
|
inline |
Check if the chain is currently used (not available to be reused).
|
inline |
Get the total number of iterable entities available.
|
inline |
Unchain the belts and reset the state completely.
|
friend |
|
friend |