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(); } } }
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); }