示例#1
0
        private IEnumerator StartCrossFade(ResultType type)
        {
            switch (type)
            {
            case ResultType.WIN:
                WinScreen.interactable   = true;
                WinScreen.blocksRaycasts = true;
                break;

            case ResultType.LOSE:
                LoseScreen.interactable   = true;
                LoseScreen.blocksRaycasts = true;
                break;

            default:
                Debug.LogError("Impossible Evaluation");
                throw new System.Exception();
            }

            float t = 0;

            while (crossFadePrecentage < 1)
            {
                t += Time.deltaTime / crossFadeDuration;

                crossFadePrecentage = AbsoluteLerp(crossFadePrecentage, 1, t);

                switch (type)
                {
                case ResultType.WIN:
                    WinScreen.alpha = crossFadePrecentage;
                    break;

                case ResultType.LOSE:
                    LoseScreen.alpha = crossFadePrecentage;
                    break;

                default:
                    Debug.LogError("Impossible Evaluation");
                    throw new System.Exception();
                }

                yield return(null);
            }

            resultScreenManager.UpdateTexts();
        }