public static Biome GetBiome(BoardNode node) { float scaledTemp = node.temperature / BOARD_NODE_SCALE; float scaledMoist = node.moisture / BOARD_NODE_SCALE; float moistureOffset = scaledMoist - scaledTemp / 3; MoistureBiome moistureCategory; if (moistureOffset < 0f) { moistureCategory = MoistureBiome.Dry; } else if (moistureOffset < .33f) { moistureCategory = MoistureBiome.Moist; } else if (moistureOffset < .66f) { moistureCategory = MoistureBiome.Wet; } else { moistureCategory = MoistureBiome.Water; } TemperatureBiome temperatureCategory; if (scaledTemp < .33f) { temperatureCategory = TemperatureBiome.Cold; } else if (scaledTemp < .66f) { temperatureCategory = TemperatureBiome.Temperate; } else { temperatureCategory = TemperatureBiome.Tropical; } AltitudeBiome altitudeCategory = GetAltitudeBiome(node.altitude); return(new Biome(moistureCategory, temperatureCategory, altitudeCategory)); }
public Biome(MoistureBiome moisture, TemperatureBiome temperature, AltitudeBiome altitude) { this.moisture = moisture; this.temperature = temperature; this.altitude = altitude; }