Example #1
0
        internal static void selectProvince(int number)
        {
            //if (Game.selectedProvince != null && number >= 0)
            //{
            //    Game.selectedProvince.setBorderMaterial(Game.defaultProvinceBorderMaterial);
            //    Game.selectedProvince.setBorderMaterials();
            //}


            if (number >= 0)
            {
                if (Province.find(number) == Game.selectedProvince)// same province clicked, hide selection
                {
                    var lastSelected = Game.selectedProvince;
                    Game.selectedProvince = null;
                    lastSelected.setBorderMaterial(Game.defaultProvinceBorderMaterial);
                    lastSelected.setBorderMaterials(true);

                    provincePanel.Hide();
                }
                else // new province selected
                {
                    if (Game.selectedProvince != null)//deal with previous selection
                    {
                        Game.selectedProvince.setBorderMaterial(Game.defaultProvinceBorderMaterial);
                        Game.selectedProvince.setBorderMaterials(true);
                    }
                    Game.selectedProvince = Province.find(number);
                    Game.selectedProvince.setBorderMaterial(Game.selectedProvinceBorderMaterial);
                    provincePanel.Show();
                    if (Game.getMapMode() == 2) //core map mode
                    {
                        Game.redrawMapAccordingToMapMode(2);
                    }
                }
                if (buildPanel.isActiveAndEnabled)
                {
                    buildPanel.Refresh();
                }
            }
        }
Example #2
0
        static List <Province> getSeaProvinces()
        {
            List <Province> res = new List <Province>();

            if (!readMapFormFile)
            {
                Province seaProvince;
                for (int x = 0; x < map.getWidth(); x++)
                {
                    seaProvince = Province.find(map.GetPixel(x, 0));
                    if (!res.Contains(seaProvince))
                    {
                        res.Add(seaProvince);
                    }
                    seaProvince = Province.find(map.GetPixel(x, map.getHeight() - 1));
                    if (!res.Contains(seaProvince))
                    {
                        res.Add(seaProvince);
                    }
                }
                for (int y = 0; y < map.getHeight(); y++)
                {
                    seaProvince = Province.find(map.GetPixel(0, y));
                    if (!res.Contains(seaProvince))
                    {
                        res.Add(seaProvince);
                    }
                    seaProvince = Province.find(map.GetPixel(map.getWidth() - 1, y));
                    if (!res.Contains(seaProvince))
                    {
                        res.Add(seaProvince);
                    }
                }

                seaProvince = Province.find(map.getRandomPixel());
                if (!res.Contains(seaProvince))
                {
                    res.Add(seaProvince);
                }

                if (Game.Random.Next(3) == 1)
                {
                    seaProvince = Province.find(map.getRandomPixel());
                    if (!res.Contains(seaProvince))
                    {
                        res.Add(seaProvince);
                    }
                    if (Game.Random.Next(20) == 1)
                    {
                        seaProvince = Province.find(map.getRandomPixel());
                        if (!res.Contains(seaProvince))
                        {
                            res.Add(seaProvince);
                        }
                    }
                }
            }
            else
            {
                foreach (var item in Province.allProvinces)
                {
                    var color = item.getColorID();
                    if (color.g + color.b >= 200f / 255f + 200f / 255f && color.r < 96f / 255f)
                    {
                        //if (color.g + color.b + color.r > 492f / 255f)
                        res.Add(item);
                    }
                }
            }
            return(res);
        }