send GameEvents instead of running redundand code
This commit is contained in:
parent
eb681999f8
commit
ac9451ea4a
10
src/audio.rs
10
src/audio.rs
|
@ -160,19 +160,17 @@ pub fn respawn_sinks(
|
|||
|
||||
pub fn handle_input(
|
||||
keyboard_input: Res<ButtonInput<KeyCode>>,
|
||||
mut ew_toggle: EventWriter<ToggleMusicEvent>,
|
||||
mut ew_sfx: EventWriter<PlaySfxEvent>,
|
||||
mut settings: ResMut<var::Settings>,
|
||||
mut ew_game: EventWriter<GameEvent>,
|
||||
settings: Res<var::Settings>,
|
||||
) {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
12
src/main.rs
12
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<ButtonInput<KeyCode>>,
|
||||
settings: Res<var::Settings>,
|
||||
opt: Res<var::CommandLineOptions>,
|
||||
mut windows: Query<&mut Window, With<PrimaryWindow>>,
|
||||
mut ew_sfx: EventWriter<audio::PlaySfxEvent>,
|
||||
mut ew_game: EventWriter<game::GameEvent>,
|
||||
) {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
|
10
src/menu.rs
10
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);
|
||||
|
|
Loading…
Reference in a new issue