X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FPreloadState.cpp;h=7d5f3729735c741657870a879abc92bfff0f986f;hb=13e676a6e49128ebc6c63b8dd08bef51d360e8e9;hp=aca2502eaeacc92e2417204fec3f618739c95eb7;hpb=5cd73a8f2b40e59ec13aa2a6af33bc8e2a6b9a6c;p=blank.git diff --git a/src/app/PreloadState.cpp b/src/app/PreloadState.cpp index aca2502..7d5f372 100644 --- a/src/app/PreloadState.cpp +++ b/src/app/PreloadState.cpp @@ -2,13 +2,15 @@ #include "Environment.hpp" #include "../world/ChunkLoader.hpp" +#include "../world/ChunkRenderer.hpp" namespace blank { -PreloadState::PreloadState(Environment &env, ChunkLoader &loader) +PreloadState::PreloadState(Environment &env, ChunkLoader &loader, ChunkRenderer &render) : env(env) , loader(loader) +, render(render) , progress(env.assets.large_ui_font) , total(loader.ToLoad()) , per_update(64) { @@ -25,11 +27,9 @@ void PreloadState::Handle(const SDL_Event &e) { void PreloadState::Update(int dt) { loader.LoadN(per_update); - if (loader.ToLoad() == 0) { - for (auto &chunk : loader.Loaded()) { - chunk.CheckUpdate(); - } + if (loader.ToLoad() <= 0) { env.state.Pop(); + render.Update(render.MissingChunks()); } else { progress.Update(total - loader.ToLoad(), total); }