public List <Tile.TilePos> getNeighborsNoBarrier(Tile.TilePos pos) { List <Tile.TilePos> list = new List <Tile.TilePos>(); bool offset = pos.y % 2 == 1; foreach (Tile.TilePos dir in offset ? offsetDirections : directions) { list.Add(pos + dir); } return(list); }
private void DLS_NoBarrier(Tile.TilePos pos, HashSet <Tile> set, int depth, Unit agent) { if (depth < 0) { return; } if (inBounds(pos.x, pos.y) && tiles[pos.x][pos.y] != null) { set.Add(tiles[pos.x][pos.y]); } foreach (Tile.TilePos p in getNeighborsNoBarrier(pos)) { DLS_NoBarrier(p, set, depth - 1, agent); } }
public Tile getTile(Tile.TilePos pos) { return(getTile(pos.x, pos.y)); }