Apparatus Version 1.8
ECS data-oriented workflow for Unreal Engine.
Public Types | Public Member Functions | List of all members
TRunnableMechanic< ChainT, Ts > Struct Template Referenceabstract

The base template for all object-based mechanics. More...

#include <RunnableMechanic.h>

Inheritance diagram for TRunnableMechanic< ChainT, Ts >:
Inheritance graph
[legend]
Collaboration diagram for TRunnableMechanic< ChainT, Ts >:
Collaboration graph
[legend]

Public Types

using ComponentTypes = TComponentTypesPack< Ts... >
 The types of components used within the operation. More...
 
using FCursor = typename ChainT::FCursor
 The type of cursor to operate with. More...
 

Public Member Functions

virtual void operator() (const typename ChainT::FCursor &, Ts...)=0
 Operate the current subject. More...
 
- Public Member Functions inherited from FRunnableMechanicBase
FRunnableThread * GetRunnableThread () const
 Get a thread this mechanic operates within. More...
 

Detailed Description

template<typename ChainT, typename ... Ts>
struct TRunnableMechanic< ChainT, Ts >

The base template for all object-based mechanics.

You can optionally use this template as a base for you custom mechanical objects.

Template Parameters
ChainTThe type of chain to operate on.
TsThe types of components to operate on.

Member Typedef Documentation

◆ ComponentTypes

template<typename ChainT , typename ... Ts>
using TRunnableMechanic< ChainT, Ts >::ComponentTypes = TComponentTypesPack<Ts...>

The types of components used within the operation.

◆ FCursor

template<typename ChainT , typename ... Ts>
using TRunnableMechanic< ChainT, Ts >::FCursor = typename ChainT::FCursor

The type of cursor to operate with.

Member Function Documentation

◆ operator()()

template<typename ChainT , typename ... Ts>
virtual void TRunnableMechanic< ChainT, Ts >::operator() ( const typename ChainT::FCursor &  ,
Ts...   
)
pure virtual

Operate the current subject.

Implement in the descendants. Using an inline (FORCEINLINE) method is recommended, since the inlining-friendly context will be provided for the execution.


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