IEnumerator ShowFeedbackCoroutine() { bool showMiss = false; bool showSlow = false; bool showFast = false; bool showGood = false; bool showExc = false; bool showScore = false; bool showChain = false; if (!showMiss) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "miss"); showMiss = true; } yield return(new WaitForSeconds(0.5f)); if (!showSlow) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "slow"); showSlow = true; } yield return(new WaitForSeconds(0.5f)); if (!showFast) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "fast"); showFast = true; } yield return(new WaitForSeconds(0.5f)); if (!showGood) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "good"); showGood = true; } yield return(new WaitForSeconds(0.5f)); if (!showExc) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "exc"); showExc = true; } yield return(new WaitForSeconds(1.0f)); if (!showScore) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "score"); showScore = true; } if (!showChain) { StartCoroutine("UpdateHitFeedbackScreenCoroutine", "chain"); showChain = true; } yield return(new WaitForSeconds(2.0f)); feedbackWindowGradeText.text = levelStatsData.GetLevelGrade().ToString(); feedbackWindowGradeText.gameObject.SetActive(true); yield return(new WaitForSeconds(0.5f)); if (levelStatsData.GetLevelGrade() >= 60) { feedbackWindowGradeSEAL.gameObject.SetActive(true); } yield return(new WaitForSeconds(1.0f)); feedbackWindowNextButton.gameObject.SetActive(true); feedbackWindowSaveButton.gameObject.SetActive(true); }