public int GetBiomeID(SOBiomeDefinition def) { if (biomeIds.TryGetValue(def, out var id)) { return(id); } throw new ArgumentException($"No id has been generated for biome definition {def.name}"); }
public float GetMaxElevationFraction(SOBiomeDefinition def) { try { var zonesContainingDef = config.elevationLowToHigh.Where( (_) => _.moistureLevelsLowToHigh.Any( (moistDef) => moistDef.biomeDefinition.Equals(def) ) ); return(zonesContainingDef.Select((zone) => zone.max).Max()); } catch (Exception e) { throw new ArgumentException($"A max elevation value could not be found for biome {def.name}", e); } }