X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fserver%2FServer.hpp;h=cef98beaeba764844059a5663179513f5fcd5ce6;hb=57d3e33b47c92d56de4007e23800d9bcdb353463;hp=372a947ef65fe0e14c1aa209d091036fcd47ed6b;hpb=a50aa0f2a2fea14f5f8c56209e2ecde3088ef913;p=blank.git diff --git a/src/server/Server.hpp b/src/server/Server.hpp index 372a947..cef98be 100644 --- a/src/server/Server.hpp +++ b/src/server/Server.hpp @@ -2,6 +2,7 @@ #define BLANK_SERVER_SERVER_HPP #include "../app/Config.hpp" +#include "../world/World.hpp" #include "../world/WorldManipulator.hpp" #include @@ -10,8 +11,9 @@ namespace blank { -class CompositeModel; -class World; +class ChunkIndex; +class Model; +class Player; class WorldSave; namespace server { @@ -22,7 +24,7 @@ class Server : public WorldManipulator { public: - Server(const Config::Network &, World &, const WorldSave &); + Server(const Config::Network &, World &, const World::Config &, const WorldSave &); ~Server(); void Handle(); @@ -35,9 +37,11 @@ public: World &GetWorld() noexcept { return world; } const WorldSave &GetWorldSave() noexcept { return save; } - void SetPlayerModel(const CompositeModel &) noexcept; + void SetPlayerModel(const Model &) noexcept; bool HasPlayerModel() const noexcept; - const CompositeModel &GetPlayerModel() const noexcept; + const Model &GetPlayerModel() const noexcept; + + Player *JoinPlayer(const std::string &name); void SetBlock(Chunk &, int, const Block &) override; @@ -52,8 +56,9 @@ private: std::list clients; World &world; + ChunkIndex &spawn_index; const WorldSave &save; - const CompositeModel *player_model; + const Model *player_model; };