CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::SystemComponentListener< EO > Struct Template Referenceabstract

A special type of ComponentListener that listens when an entity becomes a given EntityObject type given as EO. More...

#include <CeresEngine/Entity/System.hpp>

Inheritance diagram for CeresEngine::SystemComponentListener< EO >:

Public Member Functions

virtual void didAdd (const EO &entity) noexcept=0
 A notification dispatched by the SystemManager to a system.
 
virtual void didRemove (const EO &entity) noexcept=0
 A notification dispatched by the SystemManager to a system.
 
virtual void didChange (const EO &entity, const EntityChangeSet &changeSet) noexcept
 A notification dispatched by the SystemManager to a system.
 

Private Member Functions

void componentsAdded (const Entity &entity) noexcept final
 A notification dispatched by the SystemManager to a system.
 
void componentsRemoved (const Entity &entity) noexcept final
 A notification dispatched by the SystemManager to a system.
 
void entityDirtied (const Entity &entity, const EntityChangeSet &changeSet) noexcept final
 A notification dispatched by the SystemManager to a system.
 

Detailed Description

template<typename EO>
struct CeresEngine::SystemComponentListener< EO >

A special type of ComponentListener that listens when an entity becomes a given EntityObject type given as EO.

See ComponentListener for more details.

Template Parameters
EOThe entity object type

Member Function Documentation

◆ componentsAdded()

template<typename EO >
void CeresEngine::SystemComponentListener< EO >::componentsAdded ( const Entity entity)
inlinefinalprivatenoexcept

A notification dispatched by the SystemManager to a system.

This notification is dispatched once a new entity matching the mask criteria is created (either by creating it or by adding all components required).

Parameters
entityThe entity object

◆ componentsRemoved()

template<typename EO >
void CeresEngine::SystemComponentListener< EO >::componentsRemoved ( const Entity entity)
inlinefinalprivatenoexcept

A notification dispatched by the SystemManager to a system.

This notification is dispatched once an entity that previously matched the mask criteria is destroyed (either by destroying it or by removing one of the required components).

Parameters
entityThe entity object

◆ didAdd()

template<typename EO >
virtual void CeresEngine::SystemComponentListener< EO >::didAdd ( const EO &  entity)
pure virtualnoexcept

A notification dispatched by the SystemManager to a system.

This notification is dispatched once a new entity matching the EO criteria is created (either by creating it or by adding all components required).

Parameters
entityThe entity object.

◆ didChange()

template<typename EO >
virtual void CeresEngine::SystemComponentListener< EO >::didChange ( const EO &  entity,
const EntityChangeSet changeSet 
)
inlinevirtualnoexcept

A notification dispatched by the SystemManager to a system.

This notification is dispatched once an entity that previously matched the EO criteria is marked as dirty.

Parameters
entityThe entity object.

◆ didRemove()

template<typename EO >
virtual void CeresEngine::SystemComponentListener< EO >::didRemove ( const EO &  entity)
pure virtualnoexcept

A notification dispatched by the SystemManager to a system.

This notification is dispatched once an entity that previously matched the EO criteria is destroyed (either by destroying it or by removing one of the required components).

Parameters
entityThe entity object.

◆ entityDirtied()

template<typename EO >
void CeresEngine::SystemComponentListener< EO >::entityDirtied ( const Entity entity,
const EntityChangeSet changeSet 
)
inlinefinalprivatenoexcept

A notification dispatched by the SystemManager to a system.

This notification is dispatched once an entity that previously matched the mask criteria is dirtied.

Parameters
entityThe entity object.

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