]> git.localhorst.tv Git - blank.git/blob - src/standalone/PreloadState.cpp
block sounds depending on block type
[blank.git] / src / standalone / PreloadState.cpp
1 #include "PreloadState.hpp"
2
3 #include "../app/Environment.hpp"
4 #include "../world/ChunkLoader.hpp"
5 #include "../world/ChunkRenderer.hpp"
6
7
8 namespace blank {
9 namespace standalone {
10
11 PreloadState::PreloadState(Environment &env, ChunkLoader &loader, ChunkRenderer &render)
12 : ProgressState(env, "Preloading chunks: %d/%d (%d%%)")
13 , env(env)
14 , loader(loader)
15 , render(render)
16 , total(loader.ToLoad())
17 , per_update(64) {
18
19 }
20
21 void PreloadState::Update(int dt) {
22         loader.LoadN(per_update);
23         if (loader.ToLoad() <= 0) {
24                 env.state.Pop();
25                 render.Update(render.MissingChunks());
26         } else {
27                 SetProgress(total - loader.ToLoad(), total);
28         }
29 }
30
31 }
32 }