Beispiel #1
0
    IEnumerator ResolveAbilitiesForStage(int stageIndex)
    {
        Tile[] tilesInStage = new Tile[stageLimit];
        Array.Copy(grid[stageIndex], tilesInStage, stageLimit);
        System.Array.Sort(tilesInStage, (tileX, tileY) => {
            Summon summonX = tileX.GetComponentInChildren <Summon>();
            Summon summonY = tileY.GetComponentInChildren <Summon>();
            int x, y;
            x = summonX ? summonX.GetOrder() : -1;
            y = summonY ? summonY.GetOrder() : -1;
            return(x - y);
        });

        foreach (Tile tile in tilesInStage)
        {
            Summon summon = tile.GetComponentInChildren <Summon>();
            if (summon != null)
            {
                summon.UsePower();
                yield return(new WaitUntil(() => summon.DonePower()));
            }
        }
    }
Beispiel #2
0
 IEnumerator ResolveAbilityForSummon(Summon summon)
 {
     summon.UsePower();
     yield return(new WaitUntil(() => summon.DonePower()));
 }