diff options
Diffstat (limited to 'game')
-rw-r--r-- | game/gamestate.cpp | 15 | ||||
-rw-r--r-- | game/gamestate.h | 20 | ||||
-rw-r--r-- | game/world.h | 11 |
3 files changed, 35 insertions, 11 deletions
diff --git a/game/gamestate.cpp b/game/gamestate.cpp new file mode 100644 index 0000000..fcd4248 --- /dev/null +++ b/game/gamestate.cpp @@ -0,0 +1,15 @@ +#include "gamestate.h" +#include <cassert> + +GameState * gameState {nullptr}; + +GameState::GameState() +{ + assert(!gameState); + gameState = this; +} + +GameState::~GameState() +{ + gameState = nullptr; +} diff --git a/game/gamestate.h b/game/gamestate.h new file mode 100644 index 0000000..b8dfa61 --- /dev/null +++ b/game/gamestate.h @@ -0,0 +1,20 @@ +#ifndef GAMESTATE_H +#define GAMESTATE_H + +#include <collection.hpp> +#include <special_members.hpp> + +class WorldObject; + +class GameState { +public: + GameState(); + ~GameState(); + NO_MOVE(GameState); + NO_COPY(GameState); + + Collection<WorldObject> world; +}; +extern GameState * gameState; + +#endif diff --git a/game/world.h b/game/world.h deleted file mode 100644 index a0185e7..0000000 --- a/game/world.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef WORLD_H -#define WORLD_H - -#include "worldobject.h" -#include <collection.hpp> - -class World : public Collection<WorldObject> { -public: -}; - -#endif |