Fix callbackbuilder

This commit is contained in:
Michael Hübner 2025-03-05 08:25:28 +01:00
parent d5fee4d486
commit 6828597672

View file

@ -4,7 +4,6 @@ use anyhow::Result;
use ecs::World; use ecs::World;
use super::ControllerButton; use super::ControllerButton;
use crate::prelude::*;
macro_rules! callbacks { macro_rules! callbacks {
($name:ident, $($cb:tt)*) => { ($name:ident, $($cb:tt)*) => {
@ -28,12 +27,12 @@ macro_rules! callbacks {
}; };
} }
callbacks!(ClickCallbacks, Fn(&mut World, &mut GuiHandler) -> Result<()> + Send + Sync); callbacks!(ClickCallbacks, Fn(&mut World) -> Result<()> + Send + Sync);
callbacks!(SelectCallbacks, Fn(&mut World, &mut GuiHandler, bool) -> anyhow::Result<()> + Send + Sync); callbacks!(SelectCallbacks, Fn(&mut World, bool) -> anyhow::Result<()> + Send + Sync);
callbacks!(CustomCallbacks, Fn(&mut World, &mut GuiHandler, ControllerButton) -> anyhow::Result<bool> + Send + Sync); callbacks!(CustomCallbacks, Fn(&mut World, ControllerButton) -> anyhow::Result<bool> + Send + Sync);
callbacks!( callbacks!(
VecCallbacks, VecCallbacks,
Fn(&mut World, &mut GuiHandler, &dyn Any) -> Result<()> + Send + Sync Fn(&mut World, &dyn Any) -> Result<()> + Send + Sync
); );
#[cfg(test)] #[cfg(test)]
@ -41,8 +40,8 @@ mod test {
use super::*; use super::*;
use anyhow::Result; use anyhow::Result;
fn normal_fn() -> impl Fn(&mut World, &mut GuiHandler) -> Result<()> + Send + Sync { fn normal_fn() -> impl Fn(&mut World) -> Result<()> + Send + Sync {
|_, _| Ok(()) |_| Ok(())
} }
#[test] #[test]
@ -52,10 +51,7 @@ mod test {
impl Test { impl Test {
fn set_click_callbacks( fn set_click_callbacks(
&self, &self,
_callbacks: Vec<( _callbacks: Vec<(&str, Box<dyn Fn(&mut World) -> Result<()> + Send + Sync>)>,
&str,
Box<dyn Fn(&mut World, &mut GuiHandler) -> Result<()> + Send + Sync>,
)>,
) -> Result<()> { ) -> Result<()> {
Ok(()) Ok(())
} }