diff --git a/NavUtilities continued/NavUtilLib/AnalogGauges.cs b/NavUtilities continued/NavUtilLib/AnalogGauges.cs index 1e17011..3d58b65 100644 --- a/NavUtilities continued/NavUtilLib/AnalogGauges.cs +++ b/NavUtilities continued/NavUtilLib/AnalogGauges.cs @@ -193,7 +193,7 @@ private void OnHdgBtnClick() rwyLabel.SetText(NavUtilLib.GlobalVariables.FlightData.currentBodyRunways[NavUtilLib.GlobalVariables.FlightData.rwyIdx].shortID); - NavUtilLib.GlobalVariables.Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(GlobalVariables.Settings.getAudioPath() + "click")); + NavUtilLib.GlobalVariables.Audio.PlayClick(); } private void OnCrsBtnClick() @@ -207,7 +207,7 @@ private void OnCrsBtnClick() crsKnob.localRotation = crsKnobInit * Quaternion.AngleAxis(((float)NavUtilLib.GlobalVariables.FlightData.gsIdx / (float)NavUtilLib.GlobalVariables.FlightData.gsList.Count()) * 360, Vector3.forward); - NavUtilLib.GlobalVariables.Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(GlobalVariables.Settings.getAudioPath() + "click")); + NavUtilLib.GlobalVariables.Audio.PlayClick(); } private void RunOnce() diff --git a/NavUtilities continued/NavUtilLib/GlobalV_DisplayData.cs b/NavUtilities continued/NavUtilLib/GlobalV_DisplayData.cs index 5dab102..c7b997b 100644 --- a/NavUtilities continued/NavUtilLib/GlobalV_DisplayData.cs +++ b/NavUtilities continued/NavUtilLib/GlobalV_DisplayData.cs @@ -193,15 +193,15 @@ public static void DrawHSI(RenderTexture screen, float aspectRatio) //DrawHSI switch (bcnCode) { case 1: - var.Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(GlobalVariables.Settings.getAudioPath() + "outer")); + var.Audio.Instance.PlayOuter(); break; case 2: - var.Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(GlobalVariables.Settings.getAudioPath() + "middle")); + var.Audio.Instance.PlayMiddle(); break; case 3: - var.Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(GlobalVariables.Settings.getAudioPath() + "inner")); + var.Audio.Instance.PlayInner(); break; default: @@ -234,7 +234,7 @@ public static void DrawHSI(RenderTexture screen, float aspectRatio) //DrawHSI break; default: - var.Audio.markerAudio.Stop(); + var.Audio.Instance.Stop(); break; } diff --git a/NavUtilities continued/NavUtilLib/GlobalVariables.cs b/NavUtilities continued/NavUtilLib/GlobalVariables.cs index 2ae9f59..633998b 100644 --- a/NavUtilities continued/NavUtilLib/GlobalVariables.cs +++ b/NavUtilities continued/NavUtilLib/GlobalVariables.cs @@ -400,9 +400,11 @@ public static Audio Instance public static bool isLoaded = false; public static GameObject audioplayer; - public static AudioSource markerAudio; + private static AudioSource markerAudio; //public static AudioSource playOnce; + private bool isPlaying = false; + public static void initializeAudio() { audioplayer = new GameObject(); @@ -440,9 +442,41 @@ public static void initializeAudio() throw; } - isLoaded = true; } + + public static void PlayClick() + { + Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(Settings.getAudioPath() + "click")); + } + + public void PlayOuter() + { + Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(Settings.getAudioPath() + "outer")); + this.isPlaying = true; + } + + public void PlayMiddle() + { + Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(Settings.getAudioPath() + "middle")); + this.isPlaying = true; + } + + public void PlayInner() + { + Audio.markerAudio.PlayOneShot(GameDatabase.Instance.GetAudioClip(Settings.getAudioPath() + "inner")); + this.isPlaying = true; + } + + public void Stop() + { + if (this.isPlaying) + { + Audio.markerAudio.Stop(); + this.isPlaying = false; + } + } } } -} \ No newline at end of file +} +