/// <summary> /// Determines which <see cref="T:ParquetClassLibrary.Sandbox.Biome"/> the /// given <see cref="T:ParquetClassLibrary.Sandbox.MapRegion"/> corresponds to. /// </summary> /// <param name="in_region">The region to investigate.</param> /// <returns>The appropriate <see cref="T:ParquetClassLibrary.Sandbox.Biome"/>.</returns> public static Biome GetBiome(this MapRegion in_region) { var result = Biome.Field; if (in_region.HasBuildings()) { result = Biome.Town; } else { switch (in_region.ElevationLocal) { case Elevation.AboveGround: if (in_region.IsHeavenly()) { result = Biome.Heavens; } else { result = Biome.Alpine; } break; case Elevation.LevelGround: if (in_region.IsVolcanic()) { result = Biome.Volcano; } else if (in_region.IsCoastal()) { result = Biome.Seaside; } else if (in_region.IsDeserted()) { result = Biome.Desert; } else if (in_region.IsFrozen()) { result = Biome.Tundra; } else if (in_region.IsSwampy()) { result = Biome.Swamp; } else if (in_region.IsForested()) { result = Biome.Forest; } break; case Elevation.BelowGround: if (in_region.IsVolcanic()) { result = Biome.Inferno; } else { result = Biome.Cavern; } break; } } return(result); }