private void TextureModeDropdown_OnValueChanged(int value) { CurrentTextureMode = (MapTextureMode)Enum.Parse(typeof(MapTextureMode), TextureModeDropdown.options[value].text); if (CurrentMap != null) { CurrentMap.UpdateTextureMode(CurrentTextureMode); } }
/// <summary> /// Updates the textures of all regions according to the specified mode. /// </summary> public void UpdateTextureMode(MapTextureMode mode) { TextureMode = mode; switch (TextureMode) { case MapTextureMode.None: foreach (Region r in Regions) { r.SetTexture(null); } foreach (River r in Rivers) { r.SetTexture(null); } break; case MapTextureMode.BiomeTextures: foreach (Region r in Regions) { if (r.IsWater) { r.SetTexture(MapDisplayResources.Singleton.WaterTexture); } else { r.SetTexture(MapDisplayResources.Singleton.GetBiomeTexture(r.Biome)); } } foreach (River r in Rivers) { r.SetColor(Color.white); } break; } }
/// <summary> /// This function always has to be called after the map is received from the map generator /// </summary> public void InitializeMap(bool showRegionBorders, bool showShorelineBorders, bool showContinentBorders, bool showWaterConnections, MapColorMode drawMode, MapTextureMode textureMode) { UpdateColorMode(drawMode); UpdateTextureMode(textureMode); ShowRegionBorders(showRegionBorders); ShowShorelineBorders(showShorelineBorders); ShowContinentBorders(showContinentBorders); ShowWaterConnections(showWaterConnections); FocusMapInEditor(); }