예제 #1
0
        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;
            });
        }
예제 #2
0
        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;
            });
        }