1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use bevy::ecs::system::SystemParam;
use bevy::prelude::{Event, EventWriter};

#[derive(Event, Default, PartialEq, Debug, Copy, Clone, Hash)]
pub struct RequestUndoEvent;


#[derive(SystemParam)]
pub struct UndoRequester<'w> {
    ew: EventWriter<'w, RequestUndoEvent>
}


impl<'w> UndoRequester<'w> {
    #[inline(always)]
    pub fn undo(&mut self) {
        self.ew.send(RequestUndoEvent);
    }
}