IEnumerator PlaySpell(Card card) { summoner.CastSpell(); yield return(new WaitUntil(() => summoner.GetAnimationDone())); yield return(StartCoroutine(player.LoseMana(card.GetManaCost()))); yield return(StartCoroutine(card.ActivateEffect())); if (card) { cardManager.AddToDiscard(card); } }