示例#1
0
 private void Waiting()
 {
     if (Time.time > timer)
     {
         Phase = nextPhase;
         return;
     }
 }
示例#2
0
        private void ResizeMonitorVertically()
        {
            monitor.transform.localScale = Vector3.MoveTowards(monitor.transform.localScale, sizeVertical, 10 * Time.deltaTime);

            condition = monitor.transform.localScale.y == 10.0f;
            if (condition)
            {
                Phase = CongratulationMessagePhase.ResizeMonitorHorizontally;
            }
        }
示例#3
0
        private void ResizeMonitorHorizontally()
        {
            monitor.transform.localScale = Vector3.MoveTowards(monitor.transform.localScale, sizeHorizontal, 10 * Time.deltaTime);

            condition = monitor.transform.localScale.x == 10.0f;
            if (condition)
            {
                Wait(2.0f, CongratulationMessagePhase.PlayVideo);
                Phase = CongratulationMessagePhase.Waiting;
            }
        }
示例#4
0
        private void SpawningMonitor()
        {
            monitor = Instantiate(monitorPrefab);

            videoPlayer = monitor.GetComponentInChildren <UnityEngine.Video.VideoPlayer>();

            monitor.transform.localScale = Vector3.one * 0.1f;

            monitor.transform.position = new Vector3(170.18f, 52.34f, 60.27f);

            Phase = CongratulationMessagePhase.ResizeMonitorVertically;
        }
示例#5
0
        private void DisappearingLine()
        {
            condition = line.color == Color.clear;

            congratulation.color = Vector4.MoveTowards(congratulation.color, Color.clear, Time.deltaTime);
            congratulation.rectTransform.sizeDelta = Vector2.MoveTowards(congratulation.rectTransform.sizeDelta, congratulationBaseSize, resizeSpeed * Time.deltaTime);

            line.color = Vector4.MoveTowards(line.color, Color.clear, Time.deltaTime);

            if (condition)
            {
                Wait(2.0f, CongratulationMessagePhase.SpawningMonitor);
                Phase = CongratulationMessagePhase.Waiting;
            }
        }
示例#6
0
        private void ApearingMessage()
        {
            condition = (congratulation.color == Color.white) && (congratulation.rectTransform.sizeDelta == congratulationBaseSize);

            line.color           = Vector4.MoveTowards(line.color, Color.white, Time.deltaTime);
            congratulation.color = Vector4.MoveTowards(congratulation.color, Color.white, Time.deltaTime);
            congratulation.rectTransform.sizeDelta = Vector2.MoveTowards(congratulation.rectTransform.sizeDelta, congratulationBaseSize, resizeSpeed * Time.deltaTime);

            if (condition)
            {
                Wait(2.0f, CongratulationMessagePhase.DisappearingMessage);
                congratulationBaseSize = congratulation.rectTransform.sizeDelta * 0.7f;
                Phase = CongratulationMessagePhase.Waiting;
            }
        }
示例#7
0
        //=========================================================================================================================
        //   E N U M E R A T O R S
        //=========================================================================================================================
        private IEnumerator Phases()
        {
            yield return(new WaitForEndOfFrame());

            yield return(new WaitUntil(() => lastBoss.isDeath));

            QuestLog.ChangeCurrentObjective(Objective.Completed);
            yield return(new WaitForSeconds(5.0f));

            InstantiatePrefab();
            Setting();
            Phase = CongratulationMessagePhase.AppearingLine;

            yield return(new WaitForSeconds(1.0f));

            Phase = CongratulationMessagePhase.AppearingMessage;

            yield return(new WaitUntil(() => Phase == CongratulationMessagePhase.DisappearingMessage));

            yield return(new WaitForSeconds(1.0f));

            Phase = CongratulationMessagePhase.DisapearringLine;

            yield return(new WaitUntil(() => Phase == CongratulationMessagePhase.ResizeMonitorVertically));

            videoPlayer.Play();
            yield return(new WaitUntil(() => videoPlayer.isPlaying));

            videoPlayer.Pause();
            yield return(new WaitUntil(() => Phase == CongratulationMessagePhase.PlayVideo));

            videoPlayer.Play();
            yield return(new WaitUntil(() => videoPlayer.isPlaying));

            yield return(new WaitUntil(() => !videoPlayer.isPlaying));

            Phase = CongratulationMessagePhase.End;
            Debug.Log("END!");
        }
示例#8
0
 private void Wait(float second, CongratulationMessagePhase nextPhase)
 {
     timer          = Time.time + second;
     this.nextPhase = nextPhase;
 }