From ac9451ea4a3d7a600095381f0dfeb720910a0bbe Mon Sep 17 00:00:00 2001 From: hut Date: Mon, 13 May 2024 20:25:25 +0200 Subject: [PATCH] send GameEvents instead of running redundand code --- src/audio.rs | 10 ++++------ src/main.rs | 12 +++--------- src/menu.rs | 10 +++++----- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/audio.rs b/src/audio.rs index 2635074..11ca247 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -160,19 +160,17 @@ pub fn respawn_sinks( pub fn handle_input( keyboard_input: Res>, - mut ew_toggle: EventWriter, mut ew_sfx: EventWriter, - mut settings: ResMut, + mut ew_game: EventWriter, + settings: Res, ) { if keyboard_input.just_pressed(settings.key_toggle_music) { - settings.mute_music ^= true; ew_sfx.send(PlaySfxEvent(Sfx::Click)); - ew_toggle.send(ToggleMusicEvent()); + ew_game.send(GameEvent::SetMusic(Toggle)); } if keyboard_input.just_pressed(settings.key_toggle_sfx) { - settings.mute_sfx ^= true; ew_sfx.send(PlaySfxEvent(Sfx::Click)); - ew_toggle.send(ToggleMusicEvent()); + ew_game.send(GameEvent::SetMusic(Toggle)); } } diff --git a/src/main.rs b/src/main.rs index 30f53ef..8d64edb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,6 +34,7 @@ pub mod prelude { pub use crate::var::Settings; pub use crate::load::load_asset; pub use game::{GameEvent, Turn}; + pub use game::Turn::Toggle; } use bevy::window::{Window, WindowMode, PrimaryWindow, CursorGrabMode}; @@ -162,18 +163,11 @@ fn setup( fn handle_input( keyboard_input: Res>, settings: Res, - opt: Res, - mut windows: Query<&mut Window, With>, mut ew_sfx: EventWriter, + mut ew_game: EventWriter, ) { if keyboard_input.just_pressed(settings.key_fullscreen) { ew_sfx.send(audio::PlaySfxEvent(audio::Sfx::Click)); - for mut window in &mut windows { - window.mode = if window.mode == WindowMode::Windowed { - opt.window_mode_fullscreen - } else { - WindowMode::Windowed - } - } + ew_game.send(game::GameEvent::SetFullscreen(game::Turn::Toggle)); } } diff --git a/src/menu.rs b/src/menu.rs index da29ec8..5ce5f38 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -286,23 +286,23 @@ pub fn handle_input( ew_sfx.send(audio::PlaySfxEvent(audio::Sfx::Click)); match MENUDEF[menustate.cursor].1 { MenuAction::ToggleMap => { - ew_game.send(GameEvent::SetMap(Turn::Toggle)); + ew_game.send(GameEvent::SetMap(Toggle)); settings.menu_active = false; for mut vis in &mut q_vis { *vis = Visibility::Hidden; } }, MenuAction::ToggleAR => { - ew_game.send(GameEvent::SetAR(Turn::Toggle)); + ew_game.send(GameEvent::SetAR(Toggle)); }, MenuAction::ToggleMusic => { - ew_game.send(GameEvent::SetMusic(Turn::Toggle)); + ew_game.send(GameEvent::SetMusic(Toggle)); }, MenuAction::ToggleSound => { - ew_game.send(GameEvent::SetSound(Turn::Toggle)); + ew_game.send(GameEvent::SetSound(Toggle)); }, MenuAction::ToggleFullscreen => { - ew_game.send(GameEvent::SetFullscreen(Turn::Toggle)); + ew_game.send(GameEvent::SetFullscreen(Toggle)); }, MenuAction::Quit => { app_exit_events.send(bevy::app::AppExit);