From 69c2353730050a4fa254d5b747df6b0b1311437b Mon Sep 17 00:00:00 2001 From: hodasemi Date: Mon, 26 Aug 2024 16:18:41 +0200 Subject: [PATCH] Load placeholder from settings --- .../src/inventory/item_right_side.rs | 67 +++++++------------ rpg_components/src/config/items.rs | 17 +++++ 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/character_window/src/inventory/item_right_side.rs b/character_window/src/inventory/item_right_side.rs index fbe3487..ca99aa3 100644 --- a/character_window/src/inventory/item_right_side.rs +++ b/character_window/src/inventory/item_right_side.rs @@ -30,7 +30,7 @@ impl ItemRightSide { hero: Entity, ) -> Result { let snippet = GuiSnippet::from_str(engine.gui_handler(), file)?; - let icons = InventoryEmptyIcons::new(&snippet)?; + let icons = InventoryEmptyIcons::new(engine)?; let me = Self { snippet, @@ -151,31 +151,34 @@ struct InventoryEmptyIcons { } impl InventoryEmptyIcons { - fn new(ui: &GuiSnippet) -> Result { - get_place_holder!(ui, helmet); - get_place_holder!(ui, chest); - get_place_holder!(ui, boots); - get_place_holder!(ui, belt); - get_place_holder!(ui, gloves); - - get_place_holder!(ui, primary_hand, "main hand"); - get_place_holder!(ui, secondary_hand, "off hand"); - - get_place_holder!(ui, ring, "ring_0"); - get_place_holder!(ui, amulet, "amulet_0"); + fn new(engine: &Engine) -> Result { + let place_holder_settings = &engine + .scene() + .resources + .get::() + .icon_place_holder_paths; Ok(Self { - helmet, - chest, - belt, - boots, - gloves, + helmet: Image::from_file(place_holder_settings.helmet.clone())? + .build(engine.device(), engine.queue())?, + chest: Image::from_file(place_holder_settings.chest.clone())? + .build(engine.device(), engine.queue())?, + belt: Image::from_file(place_holder_settings.belt.clone())? + .build(engine.device(), engine.queue())?, + boots: Image::from_file(place_holder_settings.boots.clone())? + .build(engine.device(), engine.queue())?, + gloves: Image::from_file(place_holder_settings.gloves.clone())? + .build(engine.device(), engine.queue())?, - primary_hand, - secondary_hand, + primary_hand: Image::from_file(place_holder_settings.main_hand.clone())? + .build(engine.device(), engine.queue())?, + secondary_hand: Image::from_file(place_holder_settings.off_hand.clone())? + .build(engine.device(), engine.queue())?, - ring, - amulet, + ring: Image::from_file(place_holder_settings.ring.clone())? + .build(engine.device(), engine.queue())?, + amulet: Image::from_file(place_holder_settings.amulet.clone())? + .build(engine.device(), engine.queue())?, }) } } @@ -516,24 +519,4 @@ mod macros { } }}; } - - #[macro_export] - macro_rules! get_place_holder { - ($gui:ident, $name:ident) => { - let $name = { - let button: Arc