diff --git a/rpg_components/src/items/ability_book.rs b/rpg_components/src/items/ability_book.rs index bd68db8..5016af7 100644 --- a/rpg_components/src/items/ability_book.rs +++ b/rpg_components/src/items/ability_book.rs @@ -21,7 +21,7 @@ use super::{ }; pub trait Ability: Send + Sync + Clone + Default { - fn create(context: &Context, asset_path: impl Into) -> Result; + fn create(world: &mut World, asset_path: impl Into) -> Result; fn name(&self) -> &str; fn icon_path(&self) -> &AssetPath; diff --git a/rpg_components/src/items/item_system.rs b/rpg_components/src/items/item_system.rs index 73ae2b0..5f50c47 100644 --- a/rpg_components/src/items/item_system.rs +++ b/rpg_components/src/items/item_system.rs @@ -53,7 +53,7 @@ pub struct ItemSystem { impl ItemSystem { pub fn new( - context: &Context, + world: &mut World, item_settings: &ItemSettings, ability_settings: &AbilitySettings, attribute_settings: &AttributeSettings, @@ -64,9 +64,11 @@ impl ItemSystem { let abilities = search_dir_recursively(&ability_directory.full_path(), ".abil")? .into_iter() - .map(|path| A::create(context, path)) + .map(|path| A::create(world, path)) .collect::>>()?; + let context = world.resources.get::(); + let ( item_icon_combinations, ability_icon_combinations,