X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fclient%2FChunkReceiver.hpp;h=57c1cebbc1255118e1f39f3ad266d60bef8936eb;hb=712000879e89895fee2e364aa6b5db48a1f81b8b;hp=74a03a74318f4fd9b75defb779c1a7d5a5da3fb5;hpb=8ae45b6555d55f301f83daf8c1337d332d8305ab;p=blank.git diff --git a/src/client/ChunkReceiver.hpp b/src/client/ChunkReceiver.hpp index 74a03a7..57c1ceb 100644 --- a/src/client/ChunkReceiver.hpp +++ b/src/client/ChunkReceiver.hpp @@ -11,6 +11,7 @@ namespace blank { class ChunkStore; +class WorldSave; namespace client { @@ -19,11 +20,18 @@ class ChunkTransmission; class ChunkReceiver { public: - explicit ChunkReceiver(ChunkStore &); + ChunkReceiver(ChunkStore &, const WorldSave &); ~ChunkReceiver(); void Update(int dt); + int ToLoad() const noexcept; + + void LoadOne(); + void LoadN(std::size_t n); + + void StoreN(std::size_t n); + void Handle(const Packet::ChunkBegin &); void Handle(const Packet::ChunkData &); @@ -33,8 +41,9 @@ private: private: ChunkStore &store; + const WorldSave &save; std::list transmissions; - IntervalTimer timer; + CoarseTimer timer; };