コード例 #1
0
        protected void DrawData(Graphics g)
        {
            string path        = Directory.GetCurrentDirectory().Replace("bin\\Debug\\netcoreapp3.1", "Resources\\icons\\");
            string imagepath   = $"{path}yes.png";
            Image  ic          = Image.FromFile(imagepath);
            int    imapCounter = 1;

            foreach (tAstroMapType map in Enum.GetValues(typeof(tAstroMapType)))
            {
                MapPlanetsVisibility mapobj = MapPlanetsVisibilityCollection.Where(x => x.MapType == map).FirstOrDefault();
                if (mapobj != null)
                {
                    for (int j = 0; j < mapobj.PlanetsVisibilityList.Count; j++)
                    {
                        PlanetsVisibility pv = mapobj.PlanetsVisibilityList[j];
                        if (pv.IsVisible)
                        {
                            float X = imapCounter * _Width_Grid_Cell + 5;
                            float Y = (j + 1) * _Height_Grid_Cell + 5;

                            g.DrawImage(ic, X, Y);
                        }
                    }
                    imapCounter++;
                }
            }
        }
        protected PlanetsVisibility GetPlanetsVisibility(tAstroMapType mt, tPlanetType pt)
        {
            _justcreated = false;
            if (Data == null)
            {
                Data = new List <MapPlanetsVisibility>();
            }
            MapPlanetsVisibility mpv = Data.Where(x => x.MapType == mt).FirstOrDefault();

            if (mpv.PlanetsVisibilityList == null)
            {
                mpv.PlanetsVisibilityList = new List <PlanetsVisibility>();
            }
            PlanetsVisibility pv = mpv.PlanetsVisibilityList.Where(x => x.PlanetsType == pt).FirstOrDefault();

            if (pv == null)
            {
                pv = new PlanetsVisibility()
                {
                    IsVisible   = true,
                    PlanetsType = pt
                };
                mpv.PlanetsVisibilityList.Add(pv);
            }
            return(pv);
        }
 public void ToggleValue(tAstroMapType mt, tPlanetType pt)
 {
     if (mt != tAstroMapType.UNKNOWN)
     {
         PlanetsVisibility obj = GetPlanetsVisibility(mt, pt);
         if (!_justcreated)
         {
             obj.IsVisible = !obj.IsVisible;
         }
     }
 }
        public void SetValue(tAstroMapType mt, tPlanetType pt, bool isVisible)
        {
            PlanetsVisibility obj = GetPlanetsVisibility(mt, pt);

            obj.IsVisible = isVisible;
        }
        public bool GetValue(tAstroMapType mt, tPlanetType pt)
        {
            PlanetsVisibility obj = GetPlanetsVisibility(mt, pt);

            return(obj.IsVisible);
        }