BoringHeroes.ScreenReader.DebugPlotVectorOnMap C# (CSharp) Метод

DebugPlotVectorOnMap() публичный статический Метод

public static DebugPlotVectorOnMap ( CurrentGameState state, System points = null ) : void
state BoringHeroes.GameLogic.CurrentGameState
points System
Результат void
        public static void DebugPlotVectorOnMap(CurrentGameState state, System.Drawing.Point[] points = null)
        {
            if (state.FriendlyHeroes == null) return;
            var src = GrabScreenGDI(gameScreen);
            //var thresholded = ThresholdCropBitmap(src, new Rectangle(1450, 775, 450, 350), 200);
            var sourceImage = ChangePixelFormat(src, PixelFormat.Format24bppRgb);
            src.Dispose();
            var gc = Graphics.FromImage(sourceImage);
            var greenBrush = new SolidBrush(Color.Lime);
            var redBrush = new SolidBrush(Color.Red);
            var font = new Font(SystemFonts.DefaultFont.FontFamily, 50);

            foreach (var point in state.TowersFound)
            {
                gc.DrawString("T", font, redBrush, point.X, point.Y);
            }
            foreach (var point in state.EnemyHeroes)
            {
                gc.DrawString("H", font, redBrush, point.Position.X, point.Position.Y);
            }
            foreach (var point in state.FriendlyHeroes)
                gc.DrawString("H", font, greenBrush, point.Position.X, point.Position.Y);

            foreach (var point in state.EnemyCreepsNearby)
                gc.DrawString("C", font, redBrush, point.X, point.Y);
            foreach (var point in state.FriendlyCreepsNearby)
                gc.DrawString("C", font, greenBrush, point.X, point.Y);

            try
            {
                var pp = new System.Drawing.Point();
                foreach (var p in points)
                {
                    gc.DrawEllipse(new Pen(Color.Magenta), p.X - 4, p.Y - 4, 8, 8);
                    if (!pp.IsEmpty)
                        gc.DrawLine(new Pen(Color.Lime), pp, p);
                    pp = p;
                }
            }
            catch (Exception e)
            {
            }

            gc.Dispose();
            sourceImage.Save("./debug/ss.png");
            sourceImage.Dispose();
        }