rename hud_element_mode to HudElementMode

This commit is contained in:
MihailRis
2025-02-12 00:09:44 +03:00
parent c1e9976d95
commit 41a45fc432
2 changed files with 21 additions and 22 deletions
+13 -14
View File
@@ -70,7 +70,7 @@ std::shared_ptr<UINode> create_debug_panel(
); );
HudElement::HudElement( HudElement::HudElement(
hud_element_mode mode, HudElementMode mode,
UiDocument* document, UiDocument* document,
std::shared_ptr<UINode> node, std::shared_ptr<UINode> node,
bool debug bool debug
@@ -83,16 +83,16 @@ void HudElement::update(bool pause, bool inventoryOpen, bool debugMode) {
return; return;
} }
switch (mode) { switch (mode) {
case hud_element_mode::permanent: case HudElementMode::PERMANENT:
node->setVisible(true); node->setVisible(true);
break; break;
case hud_element_mode::ingame: case HudElementMode::INGAME:
node->setVisible(!pause && !inventoryOpen); node->setVisible(!pause && !inventoryOpen);
break; break;
case hud_element_mode::inventory_any: case HudElementMode::INVENTORY_ANY:
node->setVisible(inventoryOpen); node->setVisible(inventoryOpen);
break; break;
case hud_element_mode::inventory_bound: case HudElementMode::INVENTORY:
removed = !inventoryOpen; removed = !inventoryOpen;
break; break;
} }
@@ -192,7 +192,7 @@ Hud::Hud(Engine& engine, LevelFrontend& frontend, Player& player)
auto dplotter = std::make_shared<Plotter>(350, 250, 2000, 16); auto dplotter = std::make_shared<Plotter>(350, 250, 2000, 16);
dplotter->setGravity(Gravity::bottom_right); dplotter->setGravity(Gravity::bottom_right);
dplotter->setInteractive(false); dplotter->setInteractive(false);
add(HudElement(hud_element_mode::permanent, nullptr, dplotter, true)); add(HudElement(HudElementMode::PERMANENT, nullptr, dplotter, true));
assets.store(Texture::from(debugImgWorldGen.get()), DEBUG_WORLDGEN_IMAGE); assets.store(Texture::from(debugImgWorldGen.get()), DEBUG_WORLDGEN_IMAGE);
@@ -200,7 +200,7 @@ Hud::Hud(Engine& engine, LevelFrontend& frontend, Player& player)
"<image src='"+DEBUG_WORLDGEN_IMAGE+ "<image src='"+DEBUG_WORLDGEN_IMAGE+
"' pos='0' size='256' gravity='top-right' margin='0,20,0,0'/>" "' pos='0' size='256' gravity='top-right' margin='0,20,0,0'/>"
); );
add(HudElement(hud_element_mode::permanent, nullptr, debugMinimap, true)); add(HudElement(HudElementMode::PERMANENT, nullptr, debugMinimap, true));
} }
Hud::~Hud() { Hud::~Hud() {
@@ -372,8 +372,8 @@ void Hud::openInventory() {
auto inventoryDocument = assets.get<UiDocument>("core:inventory"); auto inventoryDocument = assets.get<UiDocument>("core:inventory");
inventoryView = std::dynamic_pointer_cast<InventoryView>(inventoryDocument->getRoot()); inventoryView = std::dynamic_pointer_cast<InventoryView>(inventoryDocument->getRoot());
inventoryView->bind(inventory, &content); inventoryView->bind(inventory, &content);
add(HudElement(hud_element_mode::inventory_bound, inventoryDocument, inventoryView, false)); add(HudElement(HudElementMode::INVENTORY, inventoryDocument, inventoryView, false));
add(HudElement(hud_element_mode::inventory_bound, nullptr, exchangeSlot, false)); add(HudElement(HudElementMode::INVENTORY, nullptr, exchangeSlot, false));
} }
std::shared_ptr<Inventory> Hud::openInventory( std::shared_ptr<Inventory> Hud::openInventory(
@@ -401,7 +401,7 @@ std::shared_ptr<Inventory> Hud::openInventory(
inv = level.inventories->createVirtual(secondInvView->getSlotsCount()); inv = level.inventories->createVirtual(secondInvView->getSlotsCount());
} }
secondInvView->bind(inv, &content); secondInvView->bind(inv, &content);
add(HudElement(hud_element_mode::inventory_bound, doc, secondUI, false)); add(HudElement(HudElementMode::INVENTORY, doc, secondUI, false));
scripting::on_inventory_open(&player, *inv); scripting::on_inventory_open(&player, *inv);
return inv; return inv;
} }
@@ -436,7 +436,7 @@ void Hud::openInventory(
blockUI->bind(blockinv, &content); blockUI->bind(blockinv, &content);
blockPos = block; blockPos = block;
currentblockid = chunks.require(block.x, block.y, block.z).id; currentblockid = chunks.require(block.x, block.y, block.z).id;
add(HudElement(hud_element_mode::inventory_bound, doc, blockUI, false)); add(HudElement(HudElementMode::INVENTORY, doc, blockUI, false));
scripting::on_inventory_open(&player, *blockinv); scripting::on_inventory_open(&player, *blockinv);
} }
@@ -468,8 +468,7 @@ void Hud::showOverlay(
showExchangeSlot(); showExchangeSlot();
inventoryOpen = true; inventoryOpen = true;
} }
add(HudElement(hud_element_mode::inventory_bound, doc, secondUI, false), add(HudElement(HudElementMode::INVENTORY, doc, secondUI, false), args);
args);
} }
void Hud::openPermanent(UiDocument* doc) { void Hud::openPermanent(UiDocument* doc) {
@@ -480,7 +479,7 @@ void Hud::openPermanent(UiDocument* doc) {
if (invview) { if (invview) {
invview->bind(player.getInventory(), &frontend.getLevel().content); invview->bind(player.getInventory(), &frontend.getLevel().content);
} }
add(HudElement(hud_element_mode::permanent, doc, doc->getRoot(), false)); add(HudElement(HudElementMode::PERMANENT, doc, doc->getRoot(), false));
} }
void Hud::dropExchangeSlot() { void Hud::dropExchangeSlot() {
+8 -8
View File
@@ -30,26 +30,26 @@ namespace gui {
class SlotView; class SlotView;
} }
enum class hud_element_mode { enum class HudElementMode {
// element is hidden if menu or inventory open // element is hidden if menu or inventory open
ingame, INGAME,
// element is visible if hud is visible // element is visible if hud is visible
permanent, PERMANENT,
// element is visible in inventory mode // element is visible in inventory mode
inventory_any, INVENTORY_ANY,
// element will be removed on inventory close // element will be removed on inventory close
inventory_bound INVENTORY
}; };
class HudElement { class HudElement {
hud_element_mode mode; HudElementMode mode;
UiDocument* document; UiDocument* document;
std::shared_ptr<gui::UINode> node; std::shared_ptr<gui::UINode> node;
bool debug; bool debug;
bool removed = false; bool removed = false;
public: public:
HudElement(hud_element_mode mode, UiDocument* document, std::shared_ptr<gui::UINode> node, bool debug); HudElement(HudElementMode mode, UiDocument* document, std::shared_ptr<gui::UINode> node, bool debug);
void update(bool pause, bool inventoryOpen, bool debug); void update(bool pause, bool inventoryOpen, bool debug);
@@ -57,7 +57,7 @@ public:
std::shared_ptr<gui::UINode> getNode() const; std::shared_ptr<gui::UINode> getNode() const;
bool isInventoryBound() const { bool isInventoryBound() const {
return mode == hud_element_mode::inventory_bound; return mode == HudElementMode::INVENTORY;
} }
void setRemoved() { void setRemoved() {