X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fstandalone%2FMasterState.hpp;h=942cc132e94a585bd6bcc066245f738daefe5cf3;hb=80a9a59d71a7b144c12f64cbef4644751bd54745;hp=f2c702fb2033df38fbfe39df28e1ac930760e5f8;hpb=b066e776622f96e906600a0c4a08de392bd03676;p=blank.git diff --git a/src/standalone/MasterState.hpp b/src/standalone/MasterState.hpp index f2c702f..942cc13 100644 --- a/src/standalone/MasterState.hpp +++ b/src/standalone/MasterState.hpp @@ -7,13 +7,15 @@ #include "PreloadState.hpp" #include "UnloadState.hpp" #include "../ai/Spawner.hpp" +#include "../app/ChatState.hpp" +#include "../audio/SoundBank.hpp" #include "../graphics/SkyBox.hpp" -#include "../model/Skeletons.hpp" +#include "../shared/WorldResources.hpp" #include "../ui/DirectInput.hpp" #include "../ui/HUD.hpp" #include "../ui/InteractiveManipulator.hpp" #include "../ui/Interface.hpp" -#include "../world/BlockTypeRegistry.hpp" +#include "../world/ChunkIndex.hpp" #include "../world/ChunkLoader.hpp" #include "../world/ChunkRenderer.hpp" #include "../world/Generator.hpp" @@ -30,7 +32,8 @@ namespace standalone { class MasterState : public State -, public ClientController { +, public ClientController +, public ChatState::Responder { public: MasterState( @@ -40,8 +43,13 @@ public: const World::Config &, const WorldSave & ); + ~MasterState(); - void OnEnter() override; + void OnResume() override; + void OnPause() override; + + void OnFocus() override; + void OnBlur() override; void Handle(const SDL_Event &) override; void Update(int dt) override; @@ -56,12 +64,18 @@ public: void SetDebug(bool) override; void Exit() override; + void OnLineSubmit(const std::string &) override; + private: Config &config; Environment &env; - BlockTypeRegistry block_types; + WorldResources res; + SoundBank sounds; + const WorldSave &save; World world; + ChunkIndex &spawn_index; Player &player; + bool spawn_player; HUD hud; InteractiveManipulator manip; DirectInput input; @@ -69,13 +83,13 @@ private: Generator generator; ChunkLoader chunk_loader; ChunkRenderer chunk_renderer; - Skeletons skeletons; Spawner spawner; SkyBox sky; PreloadState preload; UnloadState unload; + ChatState chat; };