From 4ce46f34bfbcea4c8d63e41666fa5b44dd432e2d Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 11 Feb 2024 17:42:19 +0300 Subject: [PATCH] inventory id argument --- res/layouts/inventory.xml.lua | 8 ++++---- src/assets/AssetsLoader.cpp | 10 ---------- src/files/engine_paths.h | 2 +- src/logic/scripting/scripting.cpp | 7 +++++-- 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/res/layouts/inventory.xml.lua b/res/layouts/inventory.xml.lua index 707a516c..8669b0a7 100644 --- a/res/layouts/inventory.xml.lua +++ b/res/layouts/inventory.xml.lua @@ -1,7 +1,7 @@ -function on_open() - print("OPEN") +function on_open(inv) + print("OPEN", inv) end -function on_close() - print("CLOSE") +function on_close(inv) + print("CLOSE", inv) end diff --git a/src/assets/AssetsLoader.cpp b/src/assets/AssetsLoader.cpp index 0877564e..8314b8e5 100644 --- a/src/assets/AssetsLoader.cpp +++ b/src/assets/AssetsLoader.cpp @@ -86,16 +86,6 @@ void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) { fs::path folder = info.folder / fs::path("layouts"); addLayouts(pack->getEnvironment()->getId(), info.id, folder, loader); } - - for (fs::path& file : loader.getPaths()->listdir(LAYOUTS_FOLDER)) { - if (file.extension().u8string() != ".xml") - continue; - std::string packName = file.parent_path().parent_path().filename(); - if (packName == "res") { - packName = "core"; - } - //loader.add(ASSET_LAYOUT, file.u8string(), packName+":"+file.stem().u8string()); - } } loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/blocks", "blocks"); loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/items", "items"); diff --git a/src/files/engine_paths.h b/src/files/engine_paths.h index d0411e26..04fcca67 100644 --- a/src/files/engine_paths.h +++ b/src/files/engine_paths.h @@ -46,4 +46,4 @@ public: const fs::path& getMainRoot() const; }; -#endif // FILES_ENGINE_PATHS_H_ \ No newline at end of file +#endif // FILES_ENGINE_PATHS_H_ diff --git a/src/logic/scripting/scripting.cpp b/src/logic/scripting/scripting.cpp index 52ff33a8..416f6afd 100644 --- a/src/logic/scripting/scripting.cpp +++ b/src/logic/scripting/scripting.cpp @@ -10,6 +10,7 @@ #include "../../world/Level.h" #include "../../voxels/Block.h" #include "../../items/ItemDef.h" +#include "../../items/Inventory.h" #include "../../logic/BlocksController.h" #include "../../frontend/UiDocument.h" #include "../../engine.h" @@ -208,14 +209,16 @@ bool scripting::on_item_break_block(Player* player, const ItemDef* item, int x, void scripting::on_ui_open(UiDocument* layout, Inventory* inventory) { std::string name = layout->getId()+".open"; if (state->getglobal(name)) { - state->callNoThrow(0); + state->pushinteger(inventory->getId()); + state->callNoThrow(1); } } void scripting::on_ui_close(UiDocument* layout, Inventory* inventory) { std::string name = layout->getId()+".close"; if (state->getglobal(name)) { - state->callNoThrow(0); + state->pushinteger(inventory->getId()); + state->callNoThrow(1); } }