X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fserver%2FServer.hpp;h=372a947ef65fe0e14c1aa209d091036fcd47ed6b;hb=825f479edf9867938b6789215ad7ae6303596cba;hp=bf2399180111354191c2a922bfe6754c84464ac7;hpb=8fdc24f0b3fb287f5d4e1c7d1f85ad85d5ed2414;p=blank.git diff --git a/src/server/Server.hpp b/src/server/Server.hpp index bf23991..372a947 100644 --- a/src/server/Server.hpp +++ b/src/server/Server.hpp @@ -1,6 +1,9 @@ #ifndef BLANK_SERVER_SERVER_HPP #define BLANK_SERVER_SERVER_HPP +#include "../app/Config.hpp" +#include "../world/WorldManipulator.hpp" + #include #include @@ -9,20 +12,17 @@ namespace blank { class CompositeModel; class World; +class WorldSave; namespace server { class ClientConnection; -class Server { - -public: - struct Config { - Uint16 port = 12354; - }; +class Server +: public WorldManipulator { public: - Server(const Config &, World &); + Server(const Config::Network &, World &, const WorldSave &); ~Server(); void Handle(); @@ -33,11 +33,14 @@ public: UDPpacket &GetPacket() noexcept { return serv_pack; } World &GetWorld() noexcept { return world; } + const WorldSave &GetWorldSave() noexcept { return save; } void SetPlayerModel(const CompositeModel &) noexcept; bool HasPlayerModel() const noexcept; const CompositeModel &GetPlayerModel() const noexcept; + void SetBlock(Chunk &, int, const Block &) override; + private: void HandlePacket(const UDPpacket &); @@ -49,6 +52,7 @@ private: std::list clients; World &world; + const WorldSave &save; const CompositeModel *player_model; };