IEnumerator ManageAchivementDisplay() { while (true) { if (achievementToDisplay.Count > 0) { yield return(new WaitForSeconds(0.5f)); nameText.enabled = true; Achievements.Achievement achievement = achievementToDisplay.Dequeue(); nameText.text = "Day " + Achievements.achievementValidatedCount + " : You created " + achievement.name + " !"; yield return(StartCoroutine(LetterByLetter(nameText))); yield return(new WaitForSeconds(1)); descriptionText.enabled = true; descriptionText.text = achievement.comment; yield return(StartCoroutine(LetterByLetter(descriptionText))); yield return(new WaitForSeconds(alertLifeTime)); StartCoroutine(FadeOut(nameText)); yield return(StartCoroutine(FadeOut(descriptionText))); descriptionText.enabled = false; nameText.enabled = false; } yield return(null); } }
IEnumerator DelayedAdd(Achievements.Achievement achievement) { yield return(new WaitForSeconds(4)); TextMeshProUGUI newText; if (achievement.isGood) { if (goodStackParent.childCount == 1) { goodStackParent.gameObject.SetActive(true); StartCoroutine(LetterByLetter(goodStackParent.GetChild(0).GetComponent <TextMeshProUGUI>())); } newText = Instantiate(textPrefab, goodStackParent); newText.color = goodColor; } else { if (badStackParent.childCount == 1) { badStackParent.gameObject.SetActive(true); StartCoroutine(LetterByLetter(badStackParent.GetChild(0).GetComponent <TextMeshProUGUI>())); } newText = Instantiate(textPrefab, badStackParent); newText.color = badColor; } newText.text = achievement.name; }
void OnNewAchievement(Achievements.Achievement achievement) { achievementToDisplay.Enqueue(achievement); }
void OnNewAchievement(Achievements.Achievement achievement) { StartCoroutine(DelayedAdd(achievement)); }