#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 create_pack_panel( const ContentPack& pack, Engine* engine, packconsumer callback, packconsumer remover ) { auto assets = engine->getAssets(); auto packpanel = std::dynamic_pointer_cast(guiutil::create( "" "" )); if (callback) { packpanel->listenAction([=](GUI*) { callback(pack); }); } auto runtime = engine->getContent() ? engine->getContent()->getPackRuntime(pack.id) : nullptr; auto idtext = (runtime && runtime->getStats().hasSavingContent()) ? "*["+pack.id+"]" : "["+pack.id+"]"; packpanel->add(guiutil::create( "" )); auto titlelabel = std::make_shared