public TileSetup[][] GetTiles() { Random r = new Random(Seed); MapSetup setup = new MapSetup(); TileSetup[][] tiles = new TileSetup[setup.Width][]; for (int x = 0; x < setup.Width; x++) { tiles[x] = new TileSetup[setup.Height]; for (int y = 0; y < setup.Height; y++) { if (r.NextDouble() > 0.95) { tiles[x][y] = new TileSetup { Position = new Point(x, y), TerrainType = TerrainTypes.Rock } } ; else { tiles[x][y] = new TileSetup { Position = new Point(x, y), TerrainType = TerrainTypes.Grass } }; } } return(tiles); } }
public Map(MapSetup setup) { Size = new Size(setup.Width, setup.Height); tiles = setup.GetTiles().Select(c => c?.Select(t => new Tile(t, this)).ToArray()).ToArray(); }