IEnumerator EndCoroutine() { if (playerWon) { AudioManager.instance.PlaySoundAndAtenuateMusic(victory); } else { AudioManager.instance.PlaySoundAndAtenuateMusic(defeat); } yield return(StartCoroutine(combat3DUI.ShowTitle(playerWon))); foreach (var f in GetListOfAliveFighters()) { yield return(StartCoroutine(f.GetDotManager().DoTurn(HotDot.callType.combatEnd))); } foreach (var f in teamA) { f.ClearDots(); } foreach (var f in teamB) { f.ClearDots(); } // ------- Events ------ // EventManager.CombatEvent eventParam = new EventManager.CombatEvent(); EventManager.TriggerEvent(EventManager.combatEvents.combatEnd, eventParam); while (runningEvents > 0) { yield return(0); } // --------------------- // if (playerWon) { yield return(StartCoroutine(ExperienceManager.instance.GiveExperience())); } if (climate != null) { climate.End(); } foreach (var f in teamA) { f.CombatReset(); } foreach (var f in teamB) { f.CombatReset(); } GameManager.instance.EndOfCombat(playerWon); }