#include "menu.h" #include "menu_commons.h" #include "../../coders/png.h" #include "../../content/ContentLUT.h" #include "../../engine.h" #include "../../files/WorldFiles.h" #include "../../graphics/ui/gui_util.h" #include "../../logic/LevelController.h" #include "../../util/stringutil.h" #include "../../world/Level.h" #include "../../world/World.h" #include "../locale/langs.h" #include "../screens.h" #include using namespace gui; std::shared_ptr menus::create_packs_panel( const std::vector& packs, Engine* engine, bool backbutton, packconsumer callback, packconsumer remover ){ auto assets = engine->getAssets(); auto panel = std::make_shared(glm::vec2(550, 200), glm::vec4(5.0f)); panel->setColor(glm::vec4(1.0f, 1.0f, 1.0f, 0.07f)); panel->setMaxLength(400); panel->setScrollable(true); for (auto& pack : packs) { auto packpanel = std::make_shared(glm::vec2(540, 80)); packpanel->setColor(glm::vec4(0.06f, 0.12f, 0.18f, 0.7f)); if (callback) { packpanel->listenAction([=](GUI*) { callback(pack); }); } auto runtime = engine->getContent() ? engine->getContent()->getPackRuntime(pack.id) : nullptr; auto idlabel = std::make_shared