1 #include "PreloadState.hpp"
3 #include "Environment.hpp"
4 #include "../world/ChunkLoader.hpp"
9 PreloadState::PreloadState(Environment &env, ChunkLoader &loader)
12 , font(env.assets.LoadFont("DejaVuSans", 24))
14 , total(loader.ToLoad())
16 progress.Position(glm::vec3(0.0f), Gravity::CENTER);
17 progress.Template("Preloading chunks: %d/%d (%d%%)");
21 void PreloadState::Handle(const SDL_Event &e) {
22 if (e.type == SDL_QUIT) {
27 void PreloadState::Update(int dt) {
28 loader.LoadN(per_update);
29 if (loader.ToLoad() == 0) {
30 for (auto &chunk : loader.Loaded()) {
35 progress.Update(total - loader.ToLoad(), total);
39 void PreloadState::Render(Viewport &viewport) {
40 progress.Render(viewport);