use std::sync::{Arc, Weak}; use anyhow::Result; use rpg_components::{ components::{ attributes::{Agility, Attributes, Intelligence, Strength}, item_slots::ItemSlotContainer, level::Level, statistics::Statistics, }, config::{attributes::AttributeSettings, items::ItemSettings}, }; use super::{CharacterWindow, Page}; use crate::*; pub struct CharacterPage { engine: Arc, hero: Entity, snippet: Arc, grid: Arc, } impl CharacterPage { pub fn new( engine: &Arc, hero: Entity, hero_name: &str, reference: &Weak, ) -> Result { let snippet = GuiSnippet::from_str( engine.gui_handler(), include_str!("../../resources/character/statistics.xml"), )?; let grid: Arc = snippet.element("statistic_tab")?; let name: Arc