private IEnumerator StartGameCoroutine() { //MusicManager.instance.FadeOut(1f); UICursorManager.instance.HideCursor(); UIMainMenuWindow.instance.FadeOut(); var sequence = DOTween.Sequence(); sequence.Insert(0, gameLogoSmall.DOFade(0f, 1f)); sequence.Insert(0, copyrightText.DOFade(0f, 1f)); sequence.OnComplete(() => { gameLogoSmall.gameObject.SetActive(false); copyrightText.gameObject.SetActive(false); }); var loadTask = Application.LoadLevelAdditiveAsync("AlphaGameScene"); while (!loadTask.isDone) { yield return(null); } uiCamera.gameObject.SetActive(false); // Unity requires one frame to initialize loaded scene objects. yield return(null); gameRoot = FindObjectOfType <GameRoot>(); if (gameRoot == null) { throw new Exception("Game root object not found after loading."); } gameRoot.pilotCamera.gameObject.SetActive(true); matchManager = FindObjectOfType <SurvivalMatchManager>(); if (matchManager == null) { throw new Exception("Match manager not found after loading."); } // Do an extra interval, just to be dramatic. yield return(new WaitForSeconds(1)); AudioManager.instance.Play(AudioBank.MUS_NONE, this.gameObject); AudioManager.instance.Play(AudioBank.GAME_MUSIC, this.gameObject); //MusicManager.instance.PlayIntroThenLooped(Music.InGameMusicIntro, Music.InGameMusic); gameRoot.pilotCamera.FadeIn(1f, () => { gameRoot.playerShipController.lockControls = false; state = States.Game; }); }
private IEnumerator StartGameCoroutine() { //MusicManager.instance.FadeOut(1f); UICursorManager.instance.HideCursor(); UIMainMenuWindow.instance.FadeOut(); var sequence = DOTween.Sequence(); sequence.Insert(0, gameLogoSmall.DOFade(0f, 1f)); sequence.Insert(0, copyrightText.DOFade(0f, 1f)); sequence.OnComplete(() => { gameLogoSmall.gameObject.SetActive(false); copyrightText.gameObject.SetActive(false); }); var loadTask = Application.LoadLevelAdditiveAsync("AlphaGameScene"); while (!loadTask.isDone) yield return null; uiCamera.gameObject.SetActive(false); // Unity requires one frame to initialize loaded scene objects. yield return null; gameRoot = FindObjectOfType<GameRoot>(); if (gameRoot == null) throw new Exception("Game root object not found after loading."); gameRoot.pilotCamera.gameObject.SetActive(true); matchManager = FindObjectOfType<SurvivalMatchManager>(); if (matchManager == null) throw new Exception("Match manager not found after loading."); // Do an extra interval, just to be dramatic. yield return new WaitForSeconds(1); AudioManager.instance.Play(AudioBank.MUS_NONE, this.gameObject); AudioManager.instance.Play(AudioBank.GAME_MUSIC, this.gameObject); //MusicManager.instance.PlayIntroThenLooped(Music.InGameMusicIntro, Music.InGameMusic); gameRoot.pilotCamera.FadeIn(1f, () => { gameRoot.playerShipController.lockControls = false; state = States.Game; }); }