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); }