private IEnumerator ProcessCast(SpellData spell, Tile target, CastFinishedDelegate finishedCallback = null) { for (int i = 0, il = spell.spellEffects.Count; i < il; i++) { bool effectFinished = false; SpellEffect effect = spell.spellEffects[i]; effect.Activate(caster, target, () => effectFinished = true); while (!effectFinished) { yield return(null); } } if (finishedCallback != null) { finishedCallback(); } }
public IEnumerator CastParadox() { yield return(StartCoroutine(paradox.Activate())); yield return(new WaitUntil(() => paradox.IsDone())); }
public IEnumerator CastStockPile() { yield return(StartCoroutine(stockpile.Activate())); yield return(new WaitUntil(() => stockpile.IsDone())); }