示例#1
0
        private IEnumerator DelayRestart()
        {
            var player = GameObject.Find("Player");
            if (player != null)
            {
                player.GetComponent<CharacterDefinition>().DisableControl();
            }

            if (Text != null)
            {
                GetComponent<AudioSource>().PlayOneShot(YouDiedClip);
                var typewriter = new TypeWriter("You died!", 50f);
                while (!typewriter.Done)
                {
                    if (_skipRequested)
                    {
                        typewriter.SkipToEnd();
                        Text.text = typewriter.CurrentText;
                        break;
                    }

                    if (typewriter.Update())
                    {
                        Text.text = typewriter.CurrentText;
                    }
                    yield return new WaitForEndOfFrame();
                }
            }

            yield return new WaitForSeconds(2);

            Application.LoadLevel(Application.loadedLevelName);
        }
示例#2
0
        private IEnumerator Outro()
        {
            Text.text = "";
            yield return new WaitForSeconds(0.5f);

            foreach (var textSequence in Texts)
            {
                var typeWriter = new TypeWriter(textSequence.Text, 80f);

                if (!_skipRequested)
                {
                }
                _skipRequested = false;

                while (!typeWriter.Done)
                {
                    if (_skipRequested)
                    {
                        typeWriter.SkipToEnd();
                        break;
                    }

                    if (typeWriter.Update())
                    {
                        Text.text = typeWriter.CurrentText;
                    }
                    yield return new WaitForEndOfFrame();
                }

                yield return new WaitForSeconds(0.5f);
            }

            yield return new WaitForSeconds(2f);

            // TODO: goto next scene
            if (!string.IsNullOrEmpty(GoToLevel))
            {
                Application.LoadLevel(GoToLevel);
            }
        }