diff --git a/src/elements/callback_builder.rs b/src/elements/callback_builder.rs index c63a68e..1b0260b 100644 --- a/src/elements/callback_builder.rs +++ b/src/elements/callback_builder.rs @@ -1,7 +1,8 @@ use std::any::Any; +use crate::gui_handler::gui_handler::GuiHandler; use anyhow::Result; -use ecs::World; +use ecs::Commands; use super::ControllerButton; @@ -27,12 +28,12 @@ macro_rules! callbacks { }; } -callbacks!(ClickCallbacks, Fn(&mut World) -> Result<()> + Send + Sync); -callbacks!(SelectCallbacks, Fn(&mut World, bool) -> anyhow::Result<()> + Send + Sync); -callbacks!(CustomCallbacks, Fn(&mut World, ControllerButton) -> anyhow::Result + Send + Sync); +callbacks!(ClickCallbacks, Fn(&mut Commands, &mut GuiHandler) -> Result<()> + Send + Sync); +callbacks!(SelectCallbacks, Fn(&mut Commands, &mut GuiHandler, bool) -> anyhow::Result<()> + Send + Sync); +callbacks!(CustomCallbacks, Fn(&mut Commands, &mut GuiHandler, ControllerButton) -> anyhow::Result + Send + Sync); callbacks!( VecCallbacks, - Fn(&mut World, &dyn Any) -> Result<()> + Send + Sync + Fn(&mut Commands, &mut GuiHandler, &dyn Any) -> Result<()> + Send + Sync ); #[cfg(test)] @@ -40,8 +41,8 @@ mod test { use super::*; use anyhow::Result; - fn normal_fn() -> impl Fn(&mut World) -> Result<()> + Send + Sync { - |_| Ok(()) + fn normal_fn() -> impl Fn(&mut Commands, &mut GuiHandler) -> Result<()> + Send + Sync { + |_, _| Ok(()) } #[test] @@ -51,7 +52,10 @@ mod test { impl Test { fn set_click_callbacks( &self, - _callbacks: Vec<(&str, Box Result<()> + Send + Sync>)>, + _callbacks: Vec<( + &str, + Box Result<()> + Send + Sync>, + )>, ) -> Result<()> { Ok(()) }