From aa93c2715920cbc887d543bb913558ef558cbc78 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 21 Jan 2024 19:21:18 +0300 Subject: [PATCH] InventoryView.addGrid semantics changed --- src/frontend/InventoryView.cpp | 4 +++- src/frontend/InventoryView.h | 2 +- src/frontend/hud.cpp | 14 ++++---------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/frontend/InventoryView.cpp b/src/frontend/InventoryView.cpp index c47f62ba..70966c06 100644 --- a/src/frontend/InventoryView.cpp +++ b/src/frontend/InventoryView.cpp @@ -72,7 +72,7 @@ InventoryBuilder::InventoryBuilder() {} void InventoryBuilder::addGrid( - int cols, int rows, + int cols, int count, glm::vec2 coord, int padding, SlotLayout slotLayout) @@ -80,6 +80,8 @@ void InventoryBuilder::addGrid( const int slotSize = InventoryView::SLOT_SIZE; const int interval = InventoryView::SLOT_INTERVAL; + int rows = ceildiv(count, cols); + uint width = cols * (slotSize + interval) - interval + padding*2; uint height = rows * (slotSize + interval) - interval + padding*2; diff --git a/src/frontend/InventoryView.h b/src/frontend/InventoryView.h index 1115428e..5c7df130 100644 --- a/src/frontend/InventoryView.h +++ b/src/frontend/InventoryView.h @@ -72,7 +72,7 @@ public: InventoryBuilder(); void addGrid( - int cols, int rows, + int cols, int count, glm::vec2 coord, int padding, SlotLayout slotLayout); diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index 4b99a461..ea82473e 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -186,12 +186,10 @@ std::shared_ptr HudRenderer::createContentAccess() { inventory->getSlot(player->getChosenSlot()).set(item); }); - int columns = 8; - int rows = ceildiv(itemsCount-1, columns); InventoryBuilder builder; - builder.addGrid(columns, rows, glm::vec2(), 8, slotLayout); + builder.addGrid(8, itemsCount-1, glm::vec2(), 8, slotLayout); auto layout = builder.build(); - + auto contentAccess = std::make_shared( content, frontend, @@ -211,7 +209,7 @@ std::shared_ptr HudRenderer::createHotbar() { SlotLayout slotLayout(glm::vec2(), false, false, nullptr, nullptr); InventoryBuilder builder; - builder.addGrid(10, 1, glm::vec2(), 4, slotLayout); + builder.addGrid(10, 10, glm::vec2(), 4, slotLayout); auto layout = builder.build(); layout->setOrigin(glm::vec2(layout->getSize().x/2, 0)); @@ -236,13 +234,9 @@ std::shared_ptr HudRenderer::createInventory() { SlotLayout slotLayout(glm::vec2(), true, false, [=](ItemStack& stack) { stack.clear(); }, nullptr); - - int columns = 10; - int rows = ceildiv(inventory->size(), columns); - int padding = 4; InventoryBuilder builder; - builder.addGrid(columns, rows, glm::vec2(), padding, slotLayout); + builder.addGrid(10, inventory->size(), glm::vec2(), 4, slotLayout); auto layout = builder.build(); auto view = std::make_shared(