]> git.localhorst.tv Git - blank.git/blob - src/app/WorldState.hpp
state management and control
[blank.git] / src / app / WorldState.hpp
1 #ifndef BLANK_APP_WORLDSTATE_HPP_
2 #define BLANK_APP_WORLDSTATE_HPP_
3
4 #include "State.hpp"
5 #include "../ai/Spawner.hpp"
6 #include "../ui/Interface.hpp"
7 #include "../world/World.hpp"
8
9
10 namespace blank {
11
12 class Environment;
13
14 class WorldState
15 : public State {
16
17 public:
18         WorldState(
19                 Environment &,
20                 const Interface::Config &,
21                 const World::Config &
22         );
23
24         void Handle(const SDL_Event &) override;
25         void Update(int dt) override;
26         void Render(Viewport &) override;
27
28 private:
29         Environment &env;
30         World world;
31         Spawner spawner;
32         Interface interface;
33
34 };
35
36 }
37
38 #endif