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);*/ } } } } }
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; } }