Radium Engine
1.5.20
|
#include <Engine/Scene/CouplingSystem.hpp>
Public Types | |
using | BaseAbstractSystem = _BaseAbstractSystem |
Public Member Functions | |
BaseCouplingSystem (const BaseCouplingSystem< BaseAbstractSystem > &)=delete | |
BaseCouplingSystem< BaseAbstractSystem > & | operator= (const BaseCouplingSystem< BaseAbstractSystem > &)=delete |
void | addSystem (BaseAbstractSystem *s) |
void | generateTasks (Core::TaskQueue *taskQueue, const Engine::FrameInfo &frameInfo) override |
void | handleAssetLoading (Entity *entity, const Core::Asset::FileData *data) override |
Protected Member Functions | |
template<typename Functor > | |
void | dispatch (Functor f) |
template<typename Functor > | |
void | dispatch (Functor f) const |
template<typename Functor > | |
bool | conditionnaldispatch (Functor f, bool abortWhenInvalid=true) |
template<typename Functor > | |
bool | conditionnaldispatch (Functor f, bool abortWhenInvalid=true) const |
Base class for systems coupling multiple subsystems.
Provides subsystem storage + dispatching methods for inheriting classes. Also dispatches by default the generateTasks() and handleAssetLoading() methods from Ra::Engine::System. Note that Ra::Engine::Component registration methods from Ra::Engine::System are not dispatched by default, Ra::Engine::Systems managing only their own Ra::Engine::Components.
BaseAbstractSystem | Base class defining the subsystems API |
Definition at line 37 of file CouplingSystem.hpp.
using Ra::Engine::Scene::BaseCouplingSystem< _BaseAbstractSystem >::BaseAbstractSystem = _BaseAbstractSystem |
Definition at line 40 of file CouplingSystem.hpp.
|
inline |
Definition at line 42 of file CouplingSystem.hpp.
|
inline |
Add management for the given system.
Definition at line 54 of file CouplingSystem.hpp.
|
inlineprotected |
Call a functor on subsystems, and combine return status. Loop is stopped when combined status is false
.
Functor | Unary function object class calling the method to be dispatched on a system |
f | input functor |
abortWhenInvalid | Stop dispatching if a subsystem call returns false |
false
when dispatch is abortedfoo
until one subsystem fails, and fails if aborted foo
for all functors, and true
if at least one subsystem worked Definition at line 110 of file CouplingSystem.hpp.
|
inlineprotected |
Definition at line 119 of file CouplingSystem.hpp.
|
inlineprotected |
Call a functor on subsystems
Definition at line 71 of file CouplingSystem.hpp.
|
inlineprotected |
Call a functor on subsystems (const version)
Definition at line 79 of file CouplingSystem.hpp.
|
inlineoverride |
Definition at line 56 of file CouplingSystem.hpp.
|
inlineoverride |
Definition at line 62 of file CouplingSystem.hpp.