private static void CreateContinentsWithNoise(PolygonMapGenerator PMG) { ContinentNoise noise = new ContinentNoise((1f / PMG.GenerationSettings.ContinentSizeScaleFactor) * (100f / PMG.GenerationSettings.Area)); foreach (GraphPolygon polygon in PMG.Polygons.Where(x => (!x.IsEdgePolygon && !x.AdjacentPolygons.Any(y => y.IsEdgePolygon)))) { float noiseValue = noise.GetValue(polygon.CenterPoi.x, polygon.CenterPoi.y, PMG.GenerationSettings); if (noiseValue < 0.2f) { TurnPolygonToWater(polygon); } } }
private static void GenerateContinents() { ContinentNoise noise = new ContinentNoise(); foreach (TileData td in MapData.Tiles) { float noiseValue = noise.GetValue(td.Position.x, td.Position.z, MapData); if (noiseValue == 0) { td.Type = TileType.Water; } else { td.Type = TileType.Land; } } if (Visualize) { NoiseTester.DisplayNoise(noise, NoiseTester.ContinentPlane, MapData); } }