Fix gui_handler function arguments

This commit is contained in:
hodasemi 2025-04-10 10:28:48 +02:00
parent 8cec32830a
commit 8b7f68232e

View file

@ -729,13 +729,14 @@ impl GuiHandler {
} }
pub fn accept_custom_selection( pub fn accept_custom_selection(
&self, &mut self,
commands: &mut Commands, commands: &mut Commands,
gui_handler: &mut GuiHandler,
button: ControllerButton, button: ControllerButton,
) -> Result<bool> { ) -> Result<bool> {
let callback_self = unsafe { remove_life_time_mut(self) };
if let Some(current_selectable) = &self.current_selectable { if let Some(current_selectable) = &self.current_selectable {
if current_selectable.custom_click_event(commands, gui_handler, button)? { if current_selectable.custom_click_event(commands, callback_self, button)? {
return Ok(true); return Ok(true);
} }
} }
@ -934,16 +935,13 @@ impl GuiHandler {
self.callback_list.push(Box::new(f)); self.callback_list.push(Box::new(f));
} }
pub fn process_callbacks( pub fn process_callbacks(&mut self, commands: &mut Commands) -> Result<()> {
&mut self, let callback_self = unsafe { remove_life_time_mut(self) };
commands: &mut Commands,
gui_handler: &mut GuiHandler,
) -> Result<()> {
let callbacks = mem::take(&mut self.callback_list); let callbacks = mem::take(&mut self.callback_list);
callbacks callbacks
.into_iter() .into_iter()
.try_for_each(|callback| callback(commands, gui_handler)) .try_for_each(|callback| callback(commands, callback_self))
} }
fn render( fn render(