IEnumerator PlaySoundCoroutine(AudioClip clip, float startWait, float endWait) { playing = true; yield return(new WaitForSeconds(startWait)); MasterSound.Clip = clip; MasterSound.Play(); while (MasterSound.IsPlaying()) { yield return(null); } yield return(new WaitForSeconds(endWait)); playing = false; }
private void UpdateState() { switch (State) { case CAM_STATE.MAIN_MENU: TurnOnLights(); if (!MenuSound.IsPlaying()) { MenuSound.Play(); } MainMenu.SetUpScene(); Camera.fixedAspectRatio = true; Camera.orthographic = true; MainMenu.Canvas.isRendering = true; break; case CAM_STATE.JOIN_HOST: TurnOnLights(); if (!MenuSound.IsPlaying()) { MenuSound.Play(); } MainMenu.SetUpScene(); Camera.fixedAspectRatio = true; Camera.orthographic = true; JoinHost.Canvas.isRendering = true; break; case CAM_STATE.SELECT_TEAM: TurnOnLights(); if (!MenuSound.IsPlaying()) { MenuSound.Play(); } SelectTeam.SetUpScene(); SelectTeam.Canvas.isRendering = true; Camera.fixedAspectRatio = false; Camera.orthographic = false; break; case CAM_STATE.GAME: if (MenuSound.IsPlaying()) { MenuSound.Stop(); } TurnOffLights(); Hud.Canvas.isRendering = true; if (GUIScoreboard.Instance) { GUIScoreboard.Instance.enabled = true; } break; case CAM_STATE.EXIT_MENU: TurnOffLights(); ExitMenu.Canvas.isRendering = true; break; case CAM_STATE.HOST_MENU: if (!MenuSound.IsPlaying()) { MenuSound.Play(); } TurnOnLights(); HostMenu.SetUpScene(); Camera.fixedAspectRatio = false; Camera.orthographic = false; HostMenu.Canvas.isRendering = true; break; case CAM_STATE.OPTIONS_MENU: OptionsMenu.Canvas.isRendering = true; break; case CAM_STATE.LOADING_SCREEN: TurnOffLights(); LoadingScreen.Canvas.isRendering = true; break; case CAM_STATE.SCORE_SCREEN: if (GUIScoreScreen.Instance) { GUIScoreScreen.Instance.enabled = true; GUIScoreScreen.Instance.Canvas.isRendering = true; } break; } }