public void SpawnTiles() { foreach (var p in tilePoints) { DungeonTile d = Instantiate(TilePref, transform).GetComponent <DungeonTile>(); d.SetPosition(p); tiles.Add(d); } DungeonTile tile; do { tile = tiles[Random.Range(0, tiles.Count)]; } while (tile.generated); tile.GenerateRoom(tilePoints, TileType.spawn); do { tile = tiles[Random.Range(0, tiles.Count)]; } while (tile.generated); tile.GenerateRoom(tilePoints, TileType.exit); foreach (var t in tiles) { if (!t.generated) { t.GenerateRoom(tilePoints); } } }