8#ifndef ECS__ECS_ENGINE_H__
9#define ECS__ECS_ENGINE_H__
32 class ComponentManager;
105 template<
class E,
class... ARGS>
108 ECS_EventHandler->
Send<E>(
this,
FWD(eventArgs)...);
111 template<
class E,
class... ARGS>
128 void PreUpdate(
f32 tick_ms);
129 void Update(
f32 tick_ms);
130 void PostUpdate(
f32 tick_ms);
EntityManager * ECS_EntityManager
ECSEngine & operator=(ECSEngine &)=delete
ComponentManager * GetComponentManager()
Event::EventHandler * ECS_EventHandler
ComponentManager * ECS_ComponentManager
void SendEventAndDispatch(ARGS &&... eventArgs) const
SystemManager * GetSystemManager()
ComponentManager * GetComponentManager() const
ECSEngine(const ECSEngine &)=delete
util::Timer * ECS_EngineTime
void SubscribeEvent(Event::Internal::IEventDelegate *const eventDelegate)
void SendEvent(ARGS &&... eventArgs) const
SystemManager * ECS_SystemManager
EntityManager * GetEntityManager() const
SystemManager * GetSystemManager() const
void SendAndDispatchEvent(ECSEngine *engine, ARGS &&... eventArgs)
void AddEventCallback(Internal::IEventDelegate *const eventDelegate)
void Send(ECSEngine *engine, ARGS &&... eventArgs)