public static void BuildMapFromStringArrayList(List <string[]> mapInStrings, MapBiome biomeType) { generationMap = GenerationManager.instance.GetGameMap(); GenerationManager.instance.Height = mapInStrings.Count; GenerationManager.instance.Width = mapInStrings.Count; switch (mapInStrings.Count) { case 72: GenerationManager.instance.SetTopDownPos(36F, 36.5F, 65F); break; case 96: GenerationManager.instance.SetTopDownPos(47.7F, 48.3F, 85F); break; case 120: GenerationManager.instance.SetTopDownPos(58.2F, 60F, 105F); break; case 144: GenerationManager.instance.SetTopDownPos(69.3F, 72.4F, 130F); break; case 200: GenerationManager.instance.SetTopDownPos(98.1F, 100F, 175F); break; case 255: GenerationManager.instance.SetTopDownPos(123.3F, 126.5F, 225F); break; default: break; } generationMap.CreateEmptyMap(mapInStrings.Count); GenerationManager.instance.forestGenerator.ResetTrees(); BiomeTileSet biome = GenerationManager.instance.tilePool.GetBiomeTileSetFromBiomeType(biomeType); GenerationManager.instance.SelectedMapBiome = biomeType; Tile waterTile = biome.Water; Tile shallowsTile = biome.Shallows; Tile roadTile = biome.Road; Tile iceTile = biome.Ice; Tile groundTile = biome.GroundTiles[0]; Tile groundTile2 = null; Tile groundTile3 = null; if (biome.GroundTiles.Length > 1) { groundTile2 = biome.GroundTiles[1]; } if (biome.GroundTiles.Length > 2) { groundTile3 = biome.GroundTiles[2]; } int y = mapInStrings.Count - 1; foreach (string[] row in mapInStrings) { int x = 0;// foreach (string mapTile in row) { MapPoint mp = new MapPoint(x, y); if (mapTile == "G") { generationMap.AddTile(groundTile, mp); } else if (mapTile == "2G" || mapTile == "G2") { generationMap.AddTile(groundTile2, mp); } else if (mapTile == "3G") { generationMap.AddTile(groundTile3, mp); } else if (mapTile == "T") { generationMap.AddTile(groundTile, mp); generationMap.AddTree(0, mp); } else if (mapTile == "W") { generationMap.AddTile(waterTile, mp); } else if (mapTile == "S") { generationMap.AddTile(shallowsTile, mp); } else if (mapTile == "R") { generationMap.AddTile(roadTile, mp); } else if (mapTile == "I") { generationMap.AddTile(iceTile, mp); } x++; } y--; } generationMap.ApplySandNextToWater(); generationMap.GenerateMap(); GenerationManager.instance.MoveGamePlayCam(); }
public static string[] WriteMapToStringArrays(GameMap _mapToSave) { BiomeTileSet biome = GenerationManager.instance.GetCurrentBiomeTileSet(); Tile waterTile = biome.Water; Tile shallowsTile = biome.Shallows; Tile roadTile = biome.Road; Tile groundTile2 = null; Tile groundTile3 = null; if (biome.GroundTiles.Length > 1) { groundTile2 = biome.GroundTiles[1]; } if (biome.GroundTiles.Length > 2) { groundTile3 = biome.GroundTiles[2]; } string[] mapRows = new string[GenerationManager.instance.Width]; int i = 0; int y = GenerationManager.instance.Width - 1; while (y >= 0) { int x = 0; string row = ""; while (x < GenerationManager.instance.Width) { MapPoint mp = new MapPoint(x, y); if (_mapToSave.GetTileAtPos(mp) == waterTile) { row = row + "W"; } else if (_mapToSave.GetTileAtPos(mp) == shallowsTile) { row = row + "S"; } else if (_mapToSave.GetTileAtPos(mp) == roadTile) { row = row + "R"; } else if (_mapToSave.DoesTileContainTree(mp)) { row = row + "T"; } else if (_mapToSave.GetTileAtPos(mp) == groundTile2) { row = row + "2G"; } else if (_mapToSave.GetTileAtPos(mp) == groundTile3) { row = row + "3G"; } else { row = row + "G"; } x++; if (x < GenerationManager.instance.Width) { row = row + ","; } } mapRows[i] = row; i++; y--; } return(mapRows); }
void Awake() { TileSet_Grass = new BiomeTileSet(); Tile[] Grass_GTiles = new Tile[2]; Grass_GTiles[0] = GrassTile; Grass_GTiles[1] = GrassDustTile; TileSet_Grass.GroundTiles = Grass_GTiles; TileSet_Grass.Sand = SandTile; TileSet_Grass.Water = WaterTile; TileSet_Grass.Road = RoadTile; TileSet_Grass.Shallows = ShallowsTile; ///////////////////////////////// TileSet_Snow = new BiomeTileSet(); Tile[] Snow_GTiles = new Tile[3]; Snow_GTiles[0] = SnowTile; Snow_GTiles[1] = SnowGrassTile; Snow_GTiles[2] = SnowDustTile; TileSet_Snow.GroundTiles = Snow_GTiles; TileSet_Snow.Sand = IceTile; TileSet_Snow.Water = WaterTile; TileSet_Snow.Road = RoadTile; TileSet_Snow.Shallows = IceTile; //////////////////////////////////// TileSet_Desert = new BiomeTileSet(); Tile[] Desert_GTiles = new Tile[2]; Desert_GTiles[0] = DesertTile; Desert_GTiles[1] = DustGrassTile; TileSet_Desert.GroundTiles = Desert_GTiles; TileSet_Desert.Sand = SandTile; TileSet_Desert.Water = WaterTile; TileSet_Desert.Road = RoadTile; TileSet_Desert.Shallows = ShallowsTile; //////////////////////////////////// TileSet_Mont1 = new BiomeTileSet(); Tile[] Mont_GTiles = new Tile[1]; Mont_GTiles[0] = GrassTile; TileSet_Mont1.GroundTiles = Mont_GTiles; TileSet_Mont1.Sand = SandTile; TileSet_Mont1.Water = WaterTile; TileSet_Mont1.Road = RoadTile; TileSet_Mont1.Shallows = ShallowsTile; //////////////////////////////////// TileSet_ElCid5 = new BiomeTileSet(); Tile[] ElCid_GTiles = new Tile[2]; ElCid_GTiles[0] = GrassTile; ElCid_GTiles[1] = DesertTile; TileSet_ElCid5.GroundTiles = ElCid_GTiles; TileSet_ElCid5.Sand = SandTile; TileSet_ElCid5.Water = WaterTile; TileSet_ElCid5.Road = RoadTile; TileSet_ElCid5.Shallows = ShallowsTile; //////////////////////////////////// TileSet_VindSaga = new BiomeTileSet(); Tile[] Vind_GTiles = new Tile[3]; Vind_GTiles[0] = SnowTile; Vind_GTiles[1] = GrassTile; Vind_GTiles[2] = SnowGrassTile; TileSet_VindSaga.GroundTiles = Vind_GTiles; TileSet_VindSaga.Sand = IceTile; TileSet_VindSaga.Water = WaterTile; TileSet_VindSaga.Road = RoadTile; TileSet_VindSaga.Shallows = IceTile; TileSet_VindSaga.Ice = IceTile; //////////////////////////////////// TileSet_Saladin1 = new BiomeTileSet(); Tile[] Sal_GTiles = new Tile[2]; Sal_GTiles[0] = DesertTile; Sal_GTiles[1] = GrassTile; TileSet_Saladin1.GroundTiles = Sal_GTiles; TileSet_Saladin1.Sand = SandTile; TileSet_Saladin1.Water = WaterTile; TileSet_Saladin1.Road = RoadTile; TileSet_Saladin1.Shallows = ShallowsTile; }