public void AddBiomes(float[,] tempMap, float[,] humidMap) { for (int z = 0; z < cellCountZ; z++) { for (int x = 0; x < cellCountX; x++) { float temp = tempMap[(int)(x / mapGenerator.mapToHexFactor), (int)(z / mapGenerator.mapToHexFactor)]; float moisture = humidMap[(int)(x / mapGenerator.mapToHexFactor), (int)(z / mapGenerator.mapToHexFactor)]; float height = noiseMap[(int)(x / mapGenerator.mapToHexFactor), (int)(z / mapGenerator.mapToHexFactor)]; for (int i = 0; i < mapGenerator.biomes.Length; i++) { if (temp >= mapGenerator.biomes[i].tempRange.x && temp <= mapGenerator.biomes[i].tempRange.y) { if (moisture >= mapGenerator.biomes[i].moistureRange.x && moisture <= mapGenerator.biomes[i].moistureRange.y) { if (height >= mapGenerator.biomes[i].heightRange.x && height <= mapGenerator.biomes[i].heightRange.y) { cells[(cellCountZ * z) + x].biomeType = mapGenerator.biomes[i].biome; featureManager.AddBiomeFeatures(cells[(cellCountZ * z) + x], mapGenerator.biomes[i].biome); break; } } } } cells[(cellCountZ * z) + x].biomeType = BiomeType.None; } } }