public string GetTownName(InternalRandom random) { if (townChain == null) { List <string> townList = TownNames.ToLower().Split(' ').ToList(); foreach (var str in townList) { townChain.Add(str); } } return(new string(townChain.Chain(random.Next()).ToArray()).FirstCharToUpper()); }
public string GetCountryName(InternalRandom random) { return(new string(countryChain.Chain(random.Next()).ToArray())); }
public static void AnalizeLandmasses(TimelineLayer timelineLayer, NamelessGame game) { var s = Stopwatch.StartNew(); InternalRandom rand = game.WorldSettings.GlobalRandom; List <Region> regions = GetRegions(timelineLayer, game, rand, (tile => tile.Biome != Biomes.Sea && tile.Continent == null), (tile, region) => tile.Continent = region, () => { return(new string(continentNamesChain.Chain(game.WorldSettings.GlobalRandom.Next()).ToArray()).FirstCharToUpper()); }); List <Region> forests = GetRegions(timelineLayer, game, rand, (tile => tile.Biome == Biomes.Forest && tile.LandmarkRegion == null), (tile, region) => tile.LandmarkRegion = region, () => { return(new string(continentNamesChain.Chain(game.WorldSettings.GlobalRandom.Next(int.MaxValue - 1)).ToArray()).FirstCharToUpper() + " forest"); }); List <Region> deserts = GetRegions(timelineLayer, game, rand, (tile => tile.Biome == Biomes.Desert && tile.LandmarkRegion == null), (tile, region) => tile.LandmarkRegion = region, () => { return(new string(continentNamesChain.Chain(game.WorldSettings.GlobalRandom.Next(int.MaxValue - 1)).ToArray()).FirstCharToUpper() + " desert"); }); List <Region> mountains = GetRegions(timelineLayer, game, rand, (tile => tile.Biome == Biomes.Mountain && tile.LandmarkRegion == null), (tile, region) => tile.LandmarkRegion = region, () => { return(new string(continentNamesChain.Chain(game.WorldSettings.GlobalRandom.Next(int.MaxValue - 1)).ToArray()).FirstCharToUpper() + " mountain"); }); List <Region> swamps = GetRegions(timelineLayer, game, rand, (tile => tile.Biome == Biomes.Swamp && tile.LandmarkRegion == null), (tile, region) => tile.LandmarkRegion = region, () => { return(new string(continentNamesChain.Chain(game.WorldSettings.GlobalRandom.Next(int.MaxValue - 1)).ToArray()).FirstCharToUpper() + " swamp"); }); s.Stop(); timelineLayer.Continents = regions.Where(x => x.SizeInTiles >= 2000).ToList(); timelineLayer.Islands = regions.Where(x => x.SizeInTiles < 2000).ToList(); timelineLayer.Forests = forests.ToList(); timelineLayer.Deserts = deserts.ToList(); timelineLayer.Mountains = mountains.ToList(); timelineLayer.Swamps = swamps.ToList(); }