neoGFX
Cross-platform C++ app/game engine
|
#include <i_system.hpp>
Classes | |
struct | cannot_apply |
struct | no_thread |
struct | wrong_thread |
Public Member Functions | |
virtual | ~i_system ()=default |
virtual i_ecs & | ecs () const =0 |
virtual const system_id & | id () const =0 |
virtual const neolib::i_string & | name () const =0 |
virtual const neolib::i_set< component_id > & | components () const =0 |
virtual neolib::i_set< component_id > & | components ()=0 |
virtual const i_component & | component (component_id aComponentId) const =0 |
virtual const i_component & | component (component_id aComponentId)=0 |
virtual bool | can_apply () const =0 |
virtual bool | apply ()=0 |
virtual bool | paused () const =0 |
virtual void | pause ()=0 |
virtual void | resume ()=0 |
virtual void | terminate ()=0 |
virtual bool | waiting () const =0 |
virtual void | wait ()=0 |
virtual void | wait_for (scalar aDuration)=0 |
virtual void | signal ()=0 |
virtual void | start_thread_if ()=0 |
virtual void | start_thread ()=0 |
virtual bool | debug () const =0 |
virtual void | set_debug (bool aDebug)=0 |
virtual std::chrono::microseconds | update_time (std::size_t aMetricsIndex=0) const =0 |
Definition at line 49 of file i_system.hpp.
|
virtualdefault |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
|
pure virtual |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
|
pure virtual |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
|
pure virtual |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
|
pure virtual |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
|
pure virtual |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
|
pure virtual |
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.