Exemplo n.º 1
0
    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();
        }
    }
Exemplo n.º 2
0
    public IEnumerator CastParadox()
    {
        yield return(StartCoroutine(paradox.Activate()));

        yield return(new WaitUntil(() => paradox.IsDone()));
    }
Exemplo n.º 3
0
    public IEnumerator CastStockPile()
    {
        yield return(StartCoroutine(stockpile.Activate()));

        yield return(new WaitUntil(() => stockpile.IsDone()));
    }