system_fn: port exit_on_esc
This commit is contained in:
parent
e5a99fde4f
commit
b11a7f177b
@ -4,20 +4,17 @@ use legion::prelude::*;
|
|||||||
|
|
||||||
pub fn exit_on_esc_system(resources: &mut Resources) -> Box<dyn Schedulable> {
|
pub fn exit_on_esc_system(resources: &mut Resources) -> Box<dyn Schedulable> {
|
||||||
let mut keyboard_input_event_reader = resources.get_event_reader::<KeyboardInput>();
|
let mut keyboard_input_event_reader = resources.get_event_reader::<KeyboardInput>();
|
||||||
SystemBuilder::new("exit_on_esc")
|
(move |keyboard_input_events: Resource<Events<KeyboardInput>>,
|
||||||
.read_resource::<Events<KeyboardInput>>()
|
mut app_exit_events: ResourceMut<Events<AppExit>>| {
|
||||||
.write_resource::<Events<AppExit>>()
|
for event in keyboard_input_event_reader.iter(&keyboard_input_events) {
|
||||||
.build(
|
if let Some(virtual_key_code) = event.virtual_key_code {
|
||||||
move |_, _, (ref keyboard_input_events, ref mut app_exit_events), _| {
|
if event.state == ElementState::Pressed
|
||||||
for event in keyboard_input_event_reader.iter(keyboard_input_events) {
|
&& virtual_key_code == VirtualKeyCode::Escape
|
||||||
if let Some(virtual_key_code) = event.virtual_key_code {
|
{
|
||||||
if event.state == ElementState::Pressed
|
app_exit_events.send(AppExit);
|
||||||
&& virtual_key_code == VirtualKeyCode::Escape
|
|
||||||
{
|
|
||||||
app_exit_events.send(AppExit);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
)
|
}
|
||||||
|
})
|
||||||
|
.system_named("exit_on_esc")
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user