1
0
Fork 0
Univerxel/src/server/world/SharedUniverse.hpp

27 lines
908 B
C++

#pragma once
#include "Universe.hpp"
#include "../../core/server_handle.hpp"
namespace world::server {
class SharedArea;
/// Server with data for LocalClientUniverse binding
class SharedUniverse final: public Universe {
public:
SharedUniverse(const options &, server_handle *const);
virtual ~SharedUniverse();
protected:
std::shared_ptr<Chunk> createChunk(const chunk_pos &pos, const std::unique_ptr<generator::Abstract> &rnd) const override;
std::shared_ptr<Chunk> createChunk(std::istream &str) const override;
void loadChunk(area_<chunk_pos>, chunk_pos, const world::ChunkContainer &) override;
void updateChunk(area_map::iterator &, world::ChunkContainer::iterator &, chunk_pos, float deltaTime) override;
void broadcastMessage(const std::string&) override;
private:
server_handle *const localHandle;
};
}