예제 #1
0
        private void DrawLightRadius()
        {
            float realWidth = Utils.Metrics.Tilesize * 64;
            float stepX     = realWidth / (64 * 17);
            float stepY     = realWidth / (64 * 17);

            minimapControl1.Minimap.Dispose();
            var      newImg  = InitialImage.Clone() as Bitmap;
            Graphics g       = Graphics.FromImage(newImg);
            var      iRadius = InnerRadius / stepX;
            var      oRadius = OuterRadius / stepX;

            g.DrawEllipse(new Pen(Color.Orange, 3), new RectangleF(mLightPos.X / stepX - iRadius, mLightPos.Y / stepY - iRadius, iRadius * 2, iRadius * 2));
            g.DrawEllipse(new Pen(Color.Red, 3), new RectangleF(mLightPos.X / stepX - oRadius, mLightPos.Y / stepY - oRadius, oRadius * 2, oRadius * 2));
            minimapControl1.Minimap = newImg;
        }
예제 #2
0
 public void SetInfo(DBC.MapEntry map, float lightX, float lightY)
 {
     mLightPos = new PointF(lightX, lightY);
     mEntry    = map;
     try
     {
         ADT.Minimap minimap = new ADT.Minimap(map.InternalName, map.ID);
         InitialImage = minimap.CreateImage().Clone() as Bitmap;
         DrawLightPoint(lightX, lightY);
         minimapControl1.Minimap = InitialImage.Clone() as Bitmap;
         DrawLightRadius();
         ContinentName = map.InternalName;
         minimapControl1.PointSelected += new SharpWoW.Controls.MinimapControl.PointSelectedDlg(_PointSelected);
     }
     catch (Exception)
     {
         Close();
     }
 }