Ejemplo n.º 1
0
 private void ColorModeDropdown_OnValueChanged(int value)
 {
     CurrentColorMode = (MapColorMode)Enum.Parse(typeof(MapColorMode), ColorModeDropdown.options[value].text);
     if (CurrentMap != null)
     {
         CurrentMap.UpdateColorMode(CurrentColorMode);
     }
 }
Ejemplo n.º 2
0
    /// <summary>
    /// Updates the colors of all regions according to the specified mode.
    /// </summary>
    public void UpdateColorMode(MapColorMode drawMode)
    {
        ColorMode = drawMode;

        switch (ColorMode)
        {
        case MapColorMode.White:
            foreach (Region r in Regions)
            {
                r.SetColor(Color.white);
            }
            foreach (River r in Rivers)
            {
                r.SetColor(Color.white);
            }
            break;

        case MapColorMode.Basic:
            foreach (Region r in Regions)
            {
                if (r.IsWater)
                {
                    r.SetColor(MapDisplayResources.Singleton.WaterColor);
                }
                else
                {
                    r.SetColor(MapDisplayResources.Singleton.LandColor);
                }
            }
            foreach (River r in Rivers)
            {
                r.SetColor(MapDisplayResources.Singleton.WaterColor);
            }
            break;

        case MapColorMode.Biomes:
            foreach (Region r in Regions)
            {
                if (r.IsWater)
                {
                    r.SetColor(MapDisplayResources.Singleton.WaterColor);
                }
                else
                {
                    r.SetColor(MapDisplayResources.Singleton.GetBiomeColor(r.Biome));
                }
            }
            foreach (River r in Rivers)
            {
                r.SetColor(MapDisplayResources.Singleton.WaterColor);
            }
            break;

        case MapColorMode.Continents:
            foreach (Region r in WaterRegions)
            {
                r.SetColor(MapDisplayResources.Singleton.WaterColor);
            }
            foreach (River r in Rivers)
            {
                r.SetColor(MapDisplayResources.Singleton.WaterColor);
            }
            List <Color> continentColors = new List <Color>();
            foreach (Continent continent in Continents)
            {
                Color continentColor = ColorManager.GetRandomDistinctColor(continentColors);
                foreach (Region r in continent.Regions)
                {
                    r.SetColor(continentColor);
                }
                continentColors.Add(continentColor);
            }
            break;

        case MapColorMode.ParriskBoard:
            foreach (Region r in Regions)
            {
                if (r.IsOuterOcean)
                {
                    r.SetColor(Color.black);
                }
                else if (r.IsWater)
                {
                    r.SetColor(Color.white);
                    r.SetTexture(MapDisplayResources.Singleton.WaterBackgroundTexture);
                }
                else
                {
                    r.SetColor(Color.white);
                }
            }
            foreach (River r in Rivers)
            {
                r.SetColor(MapDisplayResources.Singleton.WaterColor);
            }
            break;
        }
    }
Ejemplo n.º 3
0
 /// <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();
 }