Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Engine.cpp
Go to the documentation of this file.
1
7
8
9#include "Engine.h"
10
11#include "Event/EventHandler.h"
12
13#include "EntityManager.h"
14#include "ComponentManager.h"
15#include "SystemManager.h"
16
17#include "util/Timer.h"
18
19namespace ECS
20{
22 {
28 }
29
31 {
32 delete ECS_EntityManager;
33 ECS_EntityManager = nullptr;
34
36 ECS_ComponentManager = nullptr;
37
38 delete ECS_SystemManager;
39 ECS_SystemManager = nullptr;
40
41 delete ECS_EventHandler;
42 ECS_EventHandler = nullptr;
43 }
44
46 {
47 // Advance engine time
48 ECS_EngineTime->Tick(tick_ms);
49
50 // Update all running systems
52 }
53
54 void ECSEngine::Update(f32 tick_ms)
55 {
56 // Update all running systems
57 ECS_SystemManager->Update(tick_ms);
58 }
59
61 {
63 // Finalize pending destroyed entities
66 }
67
69 {
72 }
73
75 {
78 }
79
81 {
83 }
84
85} // namespace ECS
EntityManager * ECS_EntityManager
Definition: Engine.h:52
Event::EventHandler * ECS_EventHandler
Definition: Engine.h:58
ComponentManager * ECS_ComponentManager
Definition: Engine.h:54
void PostUpdate(f32 tick_ms)
Definition: Engine.cpp:60
void Update(f32 tick_ms)
Definition: Engine.cpp:54
util::Timer * ECS_EngineTime
Definition: Engine.h:50
friend class EntityManager
Definition: Engine.h:46
void OnFrameStart()
Definition: Engine.cpp:68
SystemManager * ECS_SystemManager
Definition: Engine.h:56
void PreUpdate(f32 tick_ms)
Definition: Engine.cpp:45
void OnFrameEnd()
Definition: Engine.cpp:74
void UnsubscribeEvent(Event::Internal::IEventDelegate *eventDelegate)
Definition: Engine.cpp:80
void RemoveDestroyedEntities()
void RemoveEventCallback(Internal::IEventDelegate *eventDelegate)
Definition: EventHandler.h:74
void Update(f32 dt_ms)
void PostUpdate(f32 dt_ms)
void PreUpdate(f32 dt_ms)
void Tick(f32 ms)
Definition: Timer.cpp:19
float_t f32
Definition: Platform.h:59