private async void OnLoad(object sender, EventArgs e) { Bounds = WinApi.GetClientRectangle(gameHandle); WinApi.EnableTransparent(Handle, Bounds); graphics = new Graphics2D(this, Bounds.Width, Bounds.Height); gameController.Performance = settings.PerformanceSettings; plugins.Add(new HealthBarPlugin(gameController, graphics, settings.HealthBarSettings)); plugins.Add(new MinimapPlugin(gameController, graphics, GatherMapIcons, settings.MapIconsSettings)); plugins.Add(new LargeMapPlugin(gameController, graphics, GatherMapIcons, settings.MapIconsSettings)); plugins.Add(new MonsterTracker(gameController, graphics, settings.MonsterTrackerSettings)); plugins.Add(new PoiTracker(gameController, graphics, settings.PoiTrackerSettings)); var leftPanel = new PluginPanel(GetLeftCornerMap); leftPanel.AddChildren(new XpRatePlugin(gameController, graphics, settings.XpRateSettings, settings)); leftPanel.AddChildren(new PreloadAlertPlugin(gameController, graphics, settings.PreloadAlertSettings, settings)); leftPanel.AddChildren(new KillCounterPlugin(gameController, graphics, settings.KillCounterSettings)); leftPanel.AddChildren(new DpsMeterPlugin(gameController, graphics, settings.DpsMeterSettings)); leftPanel.AddChildren(new DebugPlugin(gameController, graphics, new DebugPluginSettings(), settings)); var horizontalPanel = new PluginPanel(Direction.Left); leftPanel.AddChildren(horizontalPanel); plugins.AddRange(leftPanel.GetPlugins()); var underPanel = new PluginPanel(GetUnderCornerMap); underPanel.AddChildren(new ItemAlertPlugin(gameController, graphics, settings.ItemAlertSettings, settings)); plugins.AddRange(underPanel.GetPlugins()); plugins.Add(new AdvancedTooltipPlugin(gameController, graphics, settings.AdvancedTooltipSettings, settings)); plugins.Add(new MenuPlugin(gameController, graphics, settings)); await Task.Run(() => { plugins.Add(new PluginExtensionPlugin(gameController, graphics)); //Should be after MenuPlugin }); MainMenuWindow.Instance.SelectedPlugin = PluginExtensionPlugin.Plugins.Find(x => x.PluginName == MainMenuWindow.Settings.LastOpenedPlugin); Deactivate += OnDeactivate; FormClosing += OnClosing; CheckGameWindow(); CheckGameState(); graphics.Render += () => plugins.ForEach(x => x.Render()); gameController.Clear += graphics.Clear; gameController.Render += graphics.TryRender; await Task.Run(() => gameController.WhileLoop()); }
private async void OnLoad(object sender, EventArgs e) { var rect = WinApi.GetClientRectangle(gameHandle); Bounds = settings.MenuSettings.AreoMode? rect:new Rectangle(rect.X + rect.Width, rect.Y, 400, rect.Height); if (settings.MenuSettings.AreoMode) { WinApi.EnableTransparent(Handle, Bounds); } graphics = new Graphics2D(this, Bounds.Width, Bounds.Height); if (settings.MenuSettings.AreoMode) { plugins.Add(new HealthBarPlugin(gameController, graphics, settings.HealthBarSettings)); plugins.Add(new MinimapPlugin(gameController, graphics, GatherMapIcons, settings.MapIconsSettings)); plugins.Add(new LargeMapPlugin(gameController, graphics, GatherMapIcons, settings.MapIconsSettings)); } plugins.Add(new MonsterTracker(gameController, graphics, settings.MonsterTrackerSettings)); plugins.Add(new PoiTracker(gameController, graphics, settings.PoiTrackerSettings)); var leftPanel = new PluginPanel(GetLeftCornerMap); leftPanel.AddChildren(new XpRatePlugin(gameController, graphics, settings.XpRateSettings, settings)); leftPanel.AddChildren(new PreloadAlertPlugin(gameController, graphics, settings.PreloadAlertSettings, settings)); leftPanel.AddChildren(new KillCounterPlugin(gameController, graphics, settings.KillCounterSettings)); leftPanel.AddChildren(new DpsMeterPlugin(gameController, graphics, settings.DpsMeterSettings)); var horizontalPanel = new PluginPanel(Direction.Left); leftPanel.AddChildren(horizontalPanel); plugins.AddRange(leftPanel.GetPlugins()); var underPanel = new PluginPanel(GetUnderCornerMap); underPanel.AddChildren(new ItemAlertPlugin(gameController, graphics, settings.ItemAlertSettings, settings)); plugins.AddRange(underPanel.GetPlugins()); plugins.Add(new AdvancedTooltipPlugin(gameController, graphics, settings.AdvancedTooltipSettings, settings)); plugins.Add(new InventoryPreviewPlugin(gameController, graphics, settings.InventoryPreviewSettings)); plugins.Add(new MenuPlugin(gameController, graphics, settings, this.Handle)); Deactivate += OnDeactivate; FormClosing += OnClosing; if (settings.MenuSettings.AreoMode) { CheckGameWindow(); } CheckGameState(); graphics.Render += OnRender; await Task.Run(() => graphics.RenderLoop()); }
private async void OnLoad(object sender, EventArgs e) { Bounds = WinApi.GetClientRectangle(gameHandle); WinApi.EnableTransparent(Handle, Bounds); graphics = new Graphics2D(this, Bounds.Width, Bounds.Height); graphics.Render += OnRender; plugins.Add(new HealthBarPlugin(gameController, graphics, settings.HealthBarSettings)); plugins.Add(new MinimapPlugin(gameController, graphics, GatherMapIcons, settings.MapIconsSettings)); plugins.Add(new LargeMapPlugin(gameController, graphics, GatherMapIcons, settings.MapIconsSettings)); plugins.Add(new MonsterTracker(gameController, graphics, settings.MonsterTrackerSettings)); plugins.Add(new PoiTracker(gameController, graphics, settings.PoiTrackerSettings)); var leftPanel = new PluginPanel(GetLeftCornerMap); leftPanel.AddChildren(new XpRatePlugin(gameController, graphics, settings.XpRateSettings)); leftPanel.AddChildren(new PreloadAlertPlugin(gameController, graphics, settings.PreloadAlertSettings)); var horizontalPanel = new PluginPanel(Direction.Left); horizontalPanel.AddChildren(new DpsMeterPlugin(gameController, graphics, settings.DpsMeterSettings)); horizontalPanel.AddChildren(new KillsCounterPlugin(gameController, graphics, settings.KillsCounterSettings)); //horizontalPanel.AddChildren(new ItemCounterPlugin(gameController, graphics, settings.ItemCounterSettings)); // Doesnt work yet leftPanel.AddChildren(horizontalPanel); plugins.AddRange(leftPanel.GetPlugins()); var underPanel = new PluginPanel(GetUnderCornerMap); underPanel.AddChildren(new ItemAlertPlugin(gameController, graphics, settings.ItemAlertSettings)); plugins.AddRange(underPanel.GetPlugins()); plugins.Add(new AdvancedTooltipPlugin(gameController, graphics, settings.AdvancedTooltipSettings, settings)); plugins.Add(new InventoryPreviewPlugin(gameController, graphics, settings.InventoryPreviewSettings)); plugins.Add(new MenuPlugin(gameController, graphics, settings)); Deactivate += OnDeactivate; FormClosing += OnClosing; CheckGameWindow(); CheckGameState(); await Task.Run(() => graphics.RenderLoop()); }