inventory id argument

This commit is contained in:
MihailRis 2024-02-11 17:42:19 +03:00
parent 8e529eb63b
commit 4ce46f34bf
4 changed files with 10 additions and 17 deletions

View File

@ -1,7 +1,7 @@
function on_open() function on_open(inv)
print("OPEN") print("OPEN", inv)
end end
function on_close() function on_close(inv)
print("CLOSE") print("CLOSE", inv)
end end

View File

@ -86,16 +86,6 @@ void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) {
fs::path folder = info.folder / fs::path("layouts"); fs::path folder = info.folder / fs::path("layouts");
addLayouts(pack->getEnvironment()->getId(), info.id, folder, loader); 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"/blocks", "blocks");
loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/items", "items"); loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/items", "items");

View File

@ -10,6 +10,7 @@
#include "../../world/Level.h" #include "../../world/Level.h"
#include "../../voxels/Block.h" #include "../../voxels/Block.h"
#include "../../items/ItemDef.h" #include "../../items/ItemDef.h"
#include "../../items/Inventory.h"
#include "../../logic/BlocksController.h" #include "../../logic/BlocksController.h"
#include "../../frontend/UiDocument.h" #include "../../frontend/UiDocument.h"
#include "../../engine.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) { void scripting::on_ui_open(UiDocument* layout, Inventory* inventory) {
std::string name = layout->getId()+".open"; std::string name = layout->getId()+".open";
if (state->getglobal(name)) { if (state->getglobal(name)) {
state->callNoThrow(0); state->pushinteger(inventory->getId());
state->callNoThrow(1);
} }
} }
void scripting::on_ui_close(UiDocument* layout, Inventory* inventory) { void scripting::on_ui_close(UiDocument* layout, Inventory* inventory) {
std::string name = layout->getId()+".close"; std::string name = layout->getId()+".close";
if (state->getglobal(name)) { if (state->getglobal(name)) {
state->callNoThrow(0); state->pushinteger(inventory->getId());
state->callNoThrow(1);
} }
} }