X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fclient%2FMasterState.hpp;h=78ab3703b756539bad02d8f26ce4511efd4886ff;hb=e5caf98d970fe569fd8484dd0d6ea738f8251ae4;hp=aaea6a99b442aa152b209d0f6953261746025b50;hpb=8507332e2d0c54aec4045fb6f0021bdc3bd57750;p=blank.git diff --git a/src/client/MasterState.hpp b/src/client/MasterState.hpp index aaea6a9..78ab370 100644 --- a/src/client/MasterState.hpp +++ b/src/client/MasterState.hpp @@ -1,12 +1,14 @@ #ifndef BLANK_CLIENT_CLIENTSTATE_HPP_ #define BLANK_CLIENT_CLIENTSTATE_HPP_ -#include "InitialState.hpp" -#include "InteractiveState.hpp" #include "../app/State.hpp" -#include "../net/Client.hpp" #include "../net/ConnectionHandler.hpp" +#include "Client.hpp" +#include "InitialState.hpp" +#include "InteractiveState.hpp" +#include "../app/Config.hpp" + #include #include @@ -26,18 +28,18 @@ class MasterState public: MasterState( Environment &, - const World::Config &, - const Interface::Config &, - const Client::Config & + Config &, + const World::Config & ); Client &GetClient() noexcept { return client; } Environment &GetEnv() noexcept { return env; } + Config &GetConfig() noexcept { return config; } + const Config &GetConfig() const noexcept { return config; } + World::Config &GetWorldConf() noexcept { return world_conf; } const World::Config &GetWorldConf() const noexcept { return world_conf; } - const Interface::Config &GetInterfaceConf() const noexcept { return intf_conf; } - const Client::Config &GetClientConf() const noexcept { return client_conf; } void Quit(); @@ -56,19 +58,15 @@ public: void On(const Packet::DespawnEntity &) override; void On(const Packet::EntityUpdate &) override; void On(const Packet::PlayerCorrection &) override; - -private: - /// flag entity as updated by given packet - /// returns false if the update should be ignored - bool UpdateEntity(std::uint32_t id, std::uint16_t seq); - /// drop update information or given entity - void ClearEntity(std::uint32_t id); + void On(const Packet::ChunkBegin &) override; + void On(const Packet::ChunkData &) override; + void On(const Packet::BlockUpdate &) override; + void On(const Packet::Message &) override; private: Environment &env; + Config &config; World::Config world_conf; - const Interface::Config &intf_conf; - const Client::Config &client_conf; std::unique_ptr state; Client client; @@ -76,13 +74,6 @@ private: int login_packet; - struct UpdateStatus { - std::uint16_t last_packet; - int last_update; - }; - std::map update_status; - IntervalTimer update_timer; - }; }