]> git.localhorst.tv Git - blank.git/blob - src/app/WorldState.hpp
(hopefully) cross-platform directory functions
[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         World &GetWorld() noexcept { return world; }
29
30 private:
31         Environment &env;
32         World world;
33         Spawner spawner;
34         Interface interface;
35
36 };
37
38 }
39
40 #endif