Apparatus Version 1.3.0
ECS data-driven workflow for Unreal Engine.
Classes | Public Types | Public Member Functions | List of all members
FBeltChain Struct Reference

An iterable belt sequence holder. More...

#include <BeltChain.h>

Public Types

enum  { 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< UBelt *, TAllocator > &InBelts)
 Set to chain a set of chunks 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...
 
FBeltChainoperator= (FBeltChain &&InChain)
 Move a chain. More...
 
FBeltChainoperator= (const FBeltChain &InChain)
 Set a chain equal to another chain. More...
 
FSubjectHandle GetSubject (const int32 CursorId=DefaultCursorId) const
 Get the subject of the current iteration. More...
 
UDetailGetDetailAt (const int32 CursorId, const int32 DetailIndex) const
 Get the detail on the current iteration at a certain index. More...
 
UDetailGetDetailAt (const int32 DetailIndex) const
 Get the detail on the current iteration at a certain index. More...
 
TScriptInterface< ISubjectiveGetSubjective (const int32 CursorId=DefaultCursorId) const
 Get the subjective of the current iteration (if any). More...
 
 FBeltChain ()
 The default constructor leaving the chain uninitialized. More...
 
 FBeltChain (FBeltChain &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...
 

Detailed Description

An iterable belt sequence holder.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
InvalidCursorId 

Invalid cursor identifier.

DefaultCursorId 

Default cursor identifier.

InvalidSegmentIndex 

Invalid segment index.

Constructor & Destructor Documentation

◆ FBeltChain() [1/2]

FBeltChain::FBeltChain ( )
inline

The default constructor leaving the chain uninitialized.

◆ FBeltChain() [2/2]

FBeltChain::FBeltChain ( FBeltChain InChain)
inline

Construct a new chain as a copy of another one.

Parameters
InChainA chain to copy.

Member Function Documentation

◆ Advance()

bool FBeltChain::Advance ( const int32  CursorId = DefaultCursorId) const
inline

Advance iterating the chain to the next index.

Returns
Was the advancement successful?

◆ Begin()

bool FBeltChain::Begin ( const int32  CursorId = DefaultCursorId) const
inline

Begin iterating the chain.

Returns
Are there any actual slots to be iterated?

◆ BeginOrAdvance()

bool FBeltChain::BeginOrAdvance ( const int32  CursorId = DefaultCursorId) const
inline

Begin or advance iterating the chain.

Returns
Is the iteration possible? Returns false if the iteration should be ended.

◆ Enchain()

template<typename TAllocator >
EApparatusStatus FBeltChain::Enchain ( const FFilter InFilter,
const TArray< UBelt *, TAllocator > &  InBelts 
)
inline

Set to chain a set of chunks with a filter.

Parameters
InFilterThe target filter to enchain with.
InBeltsThe chunks to enchain.
Returns
The status of the operation.

◆ FindSegment()

int32 FBeltChain::FindSegment ( const int32  InSlotIndex) const
inline

Find a certain chain segment by a chain slot index.

◆ GetDetailAt() [1/2]

UDetail * FBeltChain::GetDetailAt ( const int32  CursorId,
const int32  DetailIndex 
) const
inline

Get the detail on the current iteration at a certain index.

Returns
The detail of the current iteration at a certain index.

◆ GetDetailAt() [2/2]

UDetail* FBeltChain::GetDetailAt ( const int32  DetailIndex) const
inline

Get the detail on the current iteration at a certain index.

Returns
The detail of the current iteration at a certain index.

◆ GetSubject()

FSubjectHandle FBeltChain::GetSubject ( const int32  CursorId = DefaultCursorId) const
inline

Get the subject of the current iteration.

Returns
The subject of the current iteration.

◆ GetSubjective()

TScriptInterface< ISubjective > FBeltChain::GetSubjective ( const int32  CursorId = DefaultCursorId) const
inline

Get the subjective of the current iteration (if any).

Returns
The subjective of the current iteration or nullptr, if there is none.

◆ IsIterating()

bool FBeltChain::IsIterating ( ) const
inline

Check if the chain currently being iterated by some cursor.

◆ operator=() [1/2]

FBeltChain & FBeltChain::operator= ( const FBeltChain InChain)
inline

Set a chain equal to another chain.

◆ operator=() [2/2]

FBeltChain & FBeltChain::operator= ( FBeltChain &&  InChain)
inline

Move a chain.

◆ Reset()

EApparatusStatus FBeltChain::Reset ( )
inline

Unchain the belts and reset the state completely.


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