aboutsummaryrefslogtreecommitdiffstats
path: root/src/map.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/map.rs')
-rw-r--r--src/map.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/map.rs b/src/map.rs
index 7e6441d..cdc5ae1 100644
--- a/src/map.rs
+++ b/src/map.rs
@@ -6,9 +6,24 @@ use {Action, HeadphoneButton, MapAction, MapKind};
use ffi::State;
use sounds;
+pub enum PlayAudio {
+ Yes,
+ No,
+}
+
+impl PlayAudio {
+ fn yes(&self) -> bool {
+ match self {
+ PlayAudio::Yes => true,
+ PlayAudio::No => false,
+ }
+ }
+}
+
pub fn run_key_action<'a>(
state: &mut State,
trigger: &'a [HeadphoneButton],
+ play_audio: PlayAudio,
) {
match state.map_group {
Some(ref map_group) => {
@@ -21,6 +36,10 @@ pub fn run_key_action<'a>(
if &in_mode[..] == trigger {
state.in_mode = None;
+ if play_audio.yes() {
+ sounds::play_mode_deactivated().unwrap();
+ }
+
return;
}
@@ -39,6 +58,10 @@ pub fn run_key_action<'a>(
if mode.is_some() {
state.in_mode = Some(trigger.to_vec());
+
+ if play_audio.yes() {
+ sounds::play_mode_activated().unwrap();
+ }
}
},
None => (),