32 static auto shutdown(
int code) -> void;
42 template <std::derived_from<System> system>
45 auto typeId = system::getEnum();
46 auto isSystemType = [typeId](
const GameObject& object) ->
bool
48 return object.getKey().getSubtype()
49 ==
static_cast<unsigned short>(typeId);
54 return static_cast<system*
>(singleton->rootNode.findDirect(isSystemType));
Manages the heirarchical structure between Systems and Entities.
Root * root
Definition Engine.h:70
static auto getRoot() -> Root *
Definition Engine.h:63
static auto getSingleton() -> Engine *
Definition Engine.cpp:112
static auto shutdown(int code) -> void
Definition Engine.cpp:105
bool shouldShutdown
Definition Engine.h:71
Engine(Engine &other)=delete
int shutdownCode
Definition Engine.h:72
Engine()
Definition Engine.cpp:29
~Engine()
Definition Engine.cpp:40
double lastFrameTime
Definition Engine.h:73
auto run() -> int
Definition Engine.cpp:45
static auto getSystem() -> system *
A function to get a system.
Definition Engine.h:43
Node rootNode
Definition Engine.h:69
the base class for the engine, most things inherit from this.
Definition GameObject.h:77
Manages the heirarchical structure between Systems and Entities.
Definition Node.h:41