bevy/crates/bevy_window/src/system.rs
2020-07-16 18:47:51 -07:00

23 lines
588 B
Rust

use crate::WindowCloseRequested;
use bevy_app::{
prelude::{EventReader, Events},
AppExit,
};
use bevy_ecs::{Local, Res, ResMut};
#[derive(Default)]
pub struct ExitOnWindowCloseState {
event_reader: EventReader<WindowCloseRequested>,
}
pub fn exit_on_window_close_system(
mut state: Local<ExitOnWindowCloseState>,
mut app_exit_events: ResMut<Events<AppExit>>,
window_close_requested_events: Res<Events<WindowCloseRequested>>,
) {
for _ in state.event_reader.iter(&window_close_requested_events) {
app_exit_events.send(AppExit);
break;
}
}