Пример #1
0
        private void RendererOnDraw(object sender, EventArgs eventArgs)
        {
            var heroes = Config.Main.Updater.AllyHeroes;
            var size   = HudInfo.GetTopPanelSize();

            foreach (var heroCont in heroes)
            {
                var hero = heroCont.Hero;
                if (heroCont.DontDraw)
                {
                    continue;
                }
                var pos = GetTopPanelPosition(hero);
                if (pos.IsZero)
                {
                    continue;
                }
                if (VisibleBar)
                {
                    var isVisible = hero.IsVisibleToEnemies;
                    if (isVisible)
                    {
                        if (AllyVisibleBarType.Value.SelectedIndex == 1)
                        {
                            //pos = Game.MouseScreenPosition;

                            var rectangle = new RectangleF(pos.X, pos.Y - size.Y, size.X, size.Y);
                            if (IsDx11)
                            {
                                Config.Main.D11Context.RenderTarget.FillRectangle(rectangle, Clr);
                            }
                            else
                            {
                                //Config.Main.D9Context.Device.G.FillRectangle(rectangle, clr);
                                Config.Main.Renderer.DrawRectangle(rectangle,
                                                                   System.Drawing.Color.FromArgb(RectangleA, RectangleR, RectangleG,
                                                                                                 RectangleB), 5);
                            }

                            /*Config.Main.Renderer.DrawRectangle(rectangle,
                             *  System.Drawing.Color.FromArgb(255, 255, 0, 255),10);*/
                        }
                    }
                }
            }
        }
Пример #2
0
        public TopPanel(Config config)
        {
            Config = config;
            var panel = Config.Factory.Menu("Top Panel");

            HealthAndManaBars = panel.Menu("Health and Mana bars");
            HealthBar         = HealthAndManaBars.Item("Health bar", true);
            ManaBar           = HealthAndManaBars.Item("Mana bar", true);
            ExtraSizeX        = HealthAndManaBars.Item("Extra Size X", new Slider(0, -25, 25));
            SizeY             = HealthAndManaBars.Item("Size Y", new Slider(7, 1, 20));
            ExtraPosX         = HealthAndManaBars.Item("Extra Position X", new Slider(0, -200, 200));
            ExtraPosY         = HealthAndManaBars.Item("Extra Position Y", new Slider(0, -200, 200));

            UltimateBar        = panel.Item("Ultimate bar", true);
            UltimateBarSize    = panel.Item("Ultimate bar size", new Slider(100, 1, 200));
            UltimateIcon       = panel.Item("Ultimate icon", true);
            VisibleBar         = panel.Item("Visible status", true);
            AllyVisibleBarType = panel.Item("Ally Visible status type", new StringList("text", "rectangle"));
            RectangleA         = panel.Item("rectangle's color -> A", new Slider(100, 0, 255));
            RectangleR         = panel.Item("rectangle's color -> R", new Slider(255, 0, 255));
            RectangleG         = panel.Item("rectangle's color -> G", new Slider(0, 0, 255));
            RectangleB         = panel.Item("rectangle's color -> B", new Slider(255, 0, 255));



            _topPanelPosition = new Dictionary <Hero, Vector2>();
            Drawing.OnDraw   += DrawingOnOnDraw;
            var size = HudInfo.GetTopPanelSize(Config.Main.Context.Value.Owner as Hero);

            _size = new Vector2(size[0], size[1]);

            config.Main.Renderer.Draw += RendererOnDraw;
            IsDx11 = Drawing.RenderMode == RenderMode.Dx11;
            if (IsDx11)
            {
                Clr =
                    Config.Main.BrushCache.GetOrCreate(System.Drawing.Color.FromArgb(RectangleA, RectangleR, RectangleG,
                                                                                     RectangleB));
                RectangleA.PropertyChanged += OnChangeClr;
                RectangleR.PropertyChanged += OnChangeClr;
                RectangleG.PropertyChanged += OnChangeClr;
                RectangleB.PropertyChanged += OnChangeClr;
            }
        }