From 47e732377b7e26c432b4647fbabb614ea9e1d6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20H=C3=BCbner?= Date: Wed, 5 Mar 2025 10:31:16 +0100 Subject: [PATCH] Get character window working --- .../src/abilities/ability_right_side.rs | 217 ++++++++++-------- character_window/src/abilities/content.rs | 201 ++++++++-------- character_window/src/abilities/mod.rs | 135 ++++++----- character_window/src/character/mod.rs | 55 +++-- character_window/src/inventory/content.rs | 9 +- .../src/inventory/jewel_right_side.rs | 29 +-- character_window/src/lib.rs | 16 +- 7 files changed, 347 insertions(+), 315 deletions(-) diff --git a/character_window/src/abilities/ability_right_side.rs b/character_window/src/abilities/ability_right_side.rs index 54d1d78..5d8dc1c 100644 --- a/character_window/src/abilities/ability_right_side.rs +++ b/character_window/src/abilities/ability_right_side.rs @@ -28,37 +28,47 @@ impl AbilityPageRightSide { "fourth_ability", ]; - pub fn new(world: &World, hero: Entity) -> Result { + pub fn new(world: &mut World, hero: Entity, reference: &Weak) -> Result { let snippet = GuiSnippet::from_str( - world.resources.get::>(), + world, include_str!("../../resources/abilities/right_side.xml"), )?; - let color_settings = world.resources.get::().rarity_color_settings; + let mut resources = world.resources.multi_mut(); + let gui_handler = resources.get::(); + let engine_settings = resources.get::(); + let context = resources.get::(); - Self::rarity_icon_background(&snippet, "common", color_settings.common)?; - Self::rarity_icon_background(&snippet, "uncommon", color_settings.uncommon)?; - Self::rarity_icon_background(&snippet, "magical", color_settings.magical)?; - Self::rarity_icon_background(&snippet, "rare", color_settings.rare)?; - Self::rarity_icon_background(&snippet, "epic", color_settings.epic)?; - Self::rarity_icon_background(&snippet, "legendary", color_settings.legendary)?; + let color_settings = resources + .get::() + .rarity_color_settings + .clone(); + + Self::rarity_icon_background(gui_handler, &snippet, "common", color_settings.common)?; + Self::rarity_icon_background(gui_handler, &snippet, "uncommon", color_settings.uncommon)?; + Self::rarity_icon_background(gui_handler, &snippet, "magical", color_settings.magical)?; + Self::rarity_icon_background(gui_handler, &snippet, "rare", color_settings.rare)?; + Self::rarity_icon_background(gui_handler, &snippet, "epic", color_settings.epic)?; + Self::rarity_icon_background(gui_handler, &snippet, "legendary", color_settings.legendary)?; for (index, name) in Self::ABILITY_BUTTON_NAMES.iter().enumerate() { let button: Arc