diff options
author | hnOsmium0001 <[email protected]> | 2022-04-06 20:52:51 -0700 |
---|---|---|
committer | hnOsmium0001 <[email protected]> | 2022-04-06 20:52:51 -0700 |
commit | 3fdc6eb4f2cbeffce9b250beec4d3a2d52a3f534 (patch) | |
tree | 05991741844aa2814b3ac71e2c843ebe07244845 /source/World.hpp | |
parent | ebd42760caaec8330a3c028f31adc7bc0b339d16 (diff) |
Work on moving infrastruture to this project
Diffstat (limited to 'source/World.hpp')
-rw-r--r-- | source/World.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source/World.hpp b/source/World.hpp new file mode 100644 index 0000000..ab33ecb --- /dev/null +++ b/source/World.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include "GameObject.hpp" + +class GameWorld { +private: + class RenderData; + RenderData* mRender; + + GameObject mRoot; + bool mAwakened = false; + +public: + GameWorld(); + ~GameWorld(); + + GameWorld(const GameWorld&) = delete; + GameWorld& operator=(const GameWorld&) = delete; + GameWorld(GameWorld&&) = default; + GameWorld& operator=(GameWorld&&) = default; + + bool IsAwake() const { return mAwakened; } + void Awaken(); + void Resleep(); + void Update(); + + void Draw(); + + const GameObject& GetRoot() const { return mRoot; } + GameObject& GetRoot() { return mRoot; } +}; |