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