public List <Tile> GetAttackTiles(Unit unit) { List <Tile> retVal = Reach.GetTiles(unit.Tile); for (int i = retVal.Count - 1; i >= 0; i--) { if (!Filter.ValidateTarget(retVal[i], unit)) { retVal.RemoveAt(i); } } return(retVal); }