Exemplo n.º 1
0
    public override IEnumerator Execute(Board board, Lock locker = null)
    {
        if (locker != null)
        {
            locker.SignalStart();
        }
        foreach (GameObject g_ in board.tiles)
        {
            GridTile g = g_.GetComponent <GridTile>();
            if (this.InQuadrant(g.position, board.size))
            {
                g.Animate(new HueSine(), Colors.DOOM, true);
                g.MakeInAccessible();
                if (g.IsInhabited() && g.inhabitant is Agent)
                {
                    ((Agent)g.inhabitant).DoDamage(1);
                }
                // TODO: add accessibility toggle?
            }
        }
        if (locker != null)
        {
            locker.SignalStop();
        }

        yield return(null);
    }