diff --git a/Assets/Scripts/Audio/AudioHandler.cs b/Assets/Scripts/Audio/AudioHandler.cs index 0e1b79fa..f2e552c1 100644 --- a/Assets/Scripts/Audio/AudioHandler.cs +++ b/Assets/Scripts/Audio/AudioHandler.cs @@ -12,5 +12,12 @@ namespace SHADE_Scripting.Audio public static Dictionary audioClipHandlers = new Dictionary(); //Functions here, maybe + public static void stopAllSounds(bool fadeOut) + { + foreach (KeyValuePair h in audioClipHandlers) + { + h.Value.Stop(fadeOut); + } + } } } diff --git a/Assets/Scripts/Gameplay/SC_GameManager.cs b/Assets/Scripts/Gameplay/SC_GameManager.cs index f7e5a746..d1607688 100644 --- a/Assets/Scripts/Gameplay/SC_GameManager.cs +++ b/Assets/Scripts/Gameplay/SC_GameManager.cs @@ -39,6 +39,23 @@ public class GameManager : Script public static GameManager Instance { get; private set; } + protected override void start() + { + base.start(); + + AudioHandler.audioClipHandlers["BGMAdaptive"] = Audio.CreateAudioClip("event:/Music/bgm_adaptive"); + AudioHandler.audioClipHandlers["BGMAdaptive"].Play(); + + Audio.SetParameter("Detected", 0.0f); + + AudioHandler.audioClipHandlers["KitchenAmbience"] = Audio.CreateAudioClip("event:/Ambience/roomtone_kitchen"); + AudioHandler.audioClipHandlers["KitchenAmbience"].Play(); + + AudioHandler.audioClipHandlers["SFXHumming"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_humming"); + AudioHandler.audioClipHandlers["SFXHumming"].SetVolume(0.15f); + AudioHandler.audioClipHandlers["SFXHumming"].Play(); + } + protected override void awake() { if (Instance != null && Instance != this) @@ -46,17 +63,12 @@ public class GameManager : Script else Instance = this; - AudioHandler.audioClipHandlers["BGMAdaptive"] = Audio.CreateAudioClip("event:/Music/bgm_adaptive"); - AudioHandler.audioClipHandlers["BGMAdaptive"].Play(); + //AudioHandler.audioClipHandlers["BGMAdaptive"].SetParameter("Detected", 0.0f); - Audio.SetParameter("Detected", 0.0f); //Audio.PlayBGMOnce2D("event:/Music/player_undetected"); - AudioHandler.audioClipHandlers["KitchenAmbience"] = Audio.CreateAudioClip("event:/Ambience/roomtone_kitchen"); - AudioHandler.audioClipHandlers["KitchenAmbience"].Play(); + //Audio.PlayBGMOnce2D("event:/Ambience/roomtone_kitchen"); - AudioHandler.audioClipHandlers["SFXHumming"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_humming"); - AudioHandler.audioClipHandlers["SFXHumming"].SetVolume(0.15f); - AudioHandler.audioClipHandlers["SFXHumming"].Play(); + totalItemCount = 0; Score = 0; currGameState = GameState.START; @@ -102,18 +114,22 @@ public class GameManager : Script if ((timer > 0 && totalItemCount < 0) || Input.GetKeyDown(Input.KeyCode.F1)) { currGameState = GameState.WIN; - Audio.StopAllSounds(); + //Audio.StopAllSounds(); //Calling this outright breaks audio clip handlers + AudioHandler.stopAllSounds(false); + AudioHandler.audioClipHandlers["BGMWin"].Play(); SceneManager.ChangeScene(winScene); //Audio.PlaySFXOnce2D("event:/Music/stingers/game_win"); - AudioHandler.audioClipHandlers["BGMWin"].Play(); + } else if(timer < 0 || Input.GetKeyDown(Input.KeyCode.F2)) { currGameState = GameState.LOSE; - Audio.StopAllSounds(); + //Audio.StopAllSounds(); + AudioHandler.stopAllSounds(false); + AudioHandler.audioClipHandlers["BGMLose"].Play(); SceneManager.ChangeScene(loseScene); //Audio.PlaySFXOnce2D("event:/Music/stingers/game_lose"); - AudioHandler.audioClipHandlers["BGMLose"].Play(); + } } } diff --git a/Assets/Scripts/UI/SC_EndScene.cs b/Assets/Scripts/UI/SC_EndScene.cs index dd72defe..b934e2bd 100644 --- a/Assets/Scripts/UI/SC_EndScene.cs +++ b/Assets/Scripts/UI/SC_EndScene.cs @@ -22,8 +22,9 @@ public class EndScene : Script if (Input.GetKeyUp(Input.KeyCode.R)) { //Audio.PlaySFXOnce2D("event:/UI/success"); + //Audio.StopAllSounds(); + AudioHandler.stopAllSounds(false); AudioHandler.audioClipHandlers["SFXUISuccess"].Play(); - Audio.StopAllSounds(); SceneManager.ChangeScene(mainGameScene); } @@ -35,8 +36,9 @@ public class EndScene : Script if (Input.GetKeyUp(Input.KeyCode.M)) { //Audio.PlaySFXOnce2D("event:/UI/success"); + //Audio.StopAllSounds(); + AudioHandler.stopAllSounds(false); AudioHandler.audioClipHandlers["SFXUISuccess"].Play(); - Audio.StopAllSounds(); SceneManager.ChangeScene(mainMainScene); }