IEnumerator ShowWinScreen() { CanvasGroup canvasGroup = winScreen.GetComponent <CanvasGroup>(); if (canvasGroup == null) { canvasGroup = winScreen.gameObject.AddComponent <CanvasGroup>(); } while (canvasGroup.alpha < 0.9f) { float Alpha = canvasGroup.alpha; float velocity = 0; Alpha = Mathf.SmoothDamp(Alpha, 1f, ref velocity, 0.2f); canvasGroup.alpha = Alpha; canvasGroup.interactable = canvasGroup.alpha > 0.9f; canvasGroup.blocksRaycasts = canvasGroup.alpha > 0.9f; yield return(null); } }