]> git.localhorst.tv Git - blank.git/blobdiff - src/client/ChunkReceiver.hpp
merge chunk requester into receiver
[blank.git] / src / client / ChunkReceiver.hpp
index 74a03a74318f4fd9b75defb779c1a7d5a5da3fb5..d304a85384f739e60fe05a55ad7b881e858f8683 100644 (file)
@@ -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,6 +41,7 @@ private:
 
 private:
        ChunkStore &store;
+       const WorldSave &save;
        std::list<ChunkTransmission> transmissions;
        IntervalTimer timer;