refactor & add test.new_world

This commit is contained in:
MihailRis
2024-12-10 18:41:39 +03:00
parent 8f37704530
commit 9b4dd8f65e
9 changed files with 57 additions and 8 deletions
+15 -3
View File
@@ -19,6 +19,7 @@
#include "frontend/menu.hpp"
#include "frontend/screens/Screen.hpp"
#include "frontend/screens/MenuScreen.hpp"
#include "frontend/screens/LevelScreen.hpp"
#include "graphics/render/ModelsGenerator.hpp"
#include "graphics/core/DrawContext.hpp"
#include "graphics/core/ImageData.hpp"
@@ -35,6 +36,7 @@
#include "window/Events.hpp"
#include "window/input.hpp"
#include "window/Window.hpp"
#include "world/Level.hpp"
#include "Mainloop.hpp"
#include "TestMainloop.hpp"
@@ -120,7 +122,7 @@ Engine::Engine(CoreParameters coreParameters)
}
keepAlive(settings.ui.language.observe([=](auto lang) {
setLanguage(lang);
}, !langNotSet));
}, true));
scripting::initialize(this);
basePacks = files::read_list(resdir/fs::path("config/builtins.list"));
@@ -272,6 +274,10 @@ PacksManager Engine::createPacksManager(const fs::path& worldFolder) {
return manager;
}
void Engine::setLevelConsumer(consumer<std::unique_ptr<Level>> levelConsumer) {
this->levelConsumer = std::move(levelConsumer);
}
void Engine::loadAssets() {
logger.info() << "loading assets";
Shader::preprocessor->setPaths(resPaths.get());
@@ -380,8 +386,10 @@ void Engine::loadContent() {
ContentLoader::loadScripts(*content);
langs::setup(resdir, langs::current->getId(), contentPacks);
loadAssets();
onAssetsLoaded();
if (!isHeadless()) {
loadAssets();
onAssetsLoaded();
}
}
void Engine::resetContent() {
@@ -445,6 +453,10 @@ void Engine::setLanguage(std::string locale) {
}
}
void Engine::onWorldOpen(std::unique_ptr<Level> level) {
levelConsumer(std::move(level));
}
gui::GUI* Engine::getGUI() {
return gui.get();
}