mod weapon; mod tool; mod armor; use crate::entity::item::ItemDetail; pub trait ShopItem { fn price(&self) -> usize; fn as_bytes(&self) -> [u8; 12]; fn as_item(&self) -> ItemDetail; } pub enum ShopType { Weapon, Tool, Armor } pub use weapon::{WeaponShop, WeaponShopItem}; pub use tool::{ToolShop, ToolShopItem}; pub use armor::{ArmorShop, ArmorShopItem};