IEnumerator IEState(STATE st) { fade.Range = 0; fade.gameObject.SetActive(true); yield return(null); float delta = 0f; while (delta <= 1f) { delta += Mathf.Clamp01(Time.deltaTime * spd); fade.Range = delta; yield return(null); } switch (state) { case STATE.title: title.Close(); break; case STATE.tutorial: tutorial.Close(); break; case STATE.Game: card.Close(); break; case STATE.Result: result.Close(); break; } state = st; switch (state) { case STATE.title: title.Init(); score = 0; break; case STATE.tutorial: tutorial.Init(); break; case STATE.Game: card.Init(); break; case STATE.Result: result.Init(); break; } delta = 0f; while (delta <= 1f) { delta += Mathf.Clamp01(Time.deltaTime * spd); fade.Range = 1 - delta; yield return(null); } yield return(null); fade.gameObject.SetActive(false); fade.Range = 0; }