namespace blank {
-UnloadState::UnloadState(Environment &env, ChunkLoader &loader)
+UnloadState::UnloadState(
+ Environment &env,
+ ChunkStore &chunks,
+ const WorldSave &save)
: env(env)
-, loader(loader)
+, chunks(chunks)
+, save(save)
, progress(env.assets.large_ui_font)
-, cur(loader.Loaded().begin())
-, end(loader.Loaded().end())
+, cur(chunks.begin())
+, end(chunks.end())
, done(0)
-, total(loader.Loaded().size())
+, total(chunks.NumLoaded())
, per_update(64) {
progress.Position(glm::vec3(0.0f), Gravity::CENTER);
progress.Template("Unloading chunks: %d/%d (%d%%)");
void UnloadState::OnResume() {
- cur = loader.Loaded().begin();
- end = loader.Loaded().end();
+ cur = chunks.begin();
+ end = chunks.end();
done = 0;
- total = loader.Loaded().size();
+ total = chunks.NumLoaded();
}
void UnloadState::Update(int dt) {
for (std::size_t i = 0; i < per_update && cur != end; ++i, ++cur, ++done) {
if (cur->ShouldUpdateSave()) {
- loader.SaveFile().Write(*cur);
+ save.Write(*cur);
}
}
if (cur == end) {