public OverlayRenderer(PathOfExile poe, RenderingContext rc) { this.poe = poe; poe.Area.OnAreaChange += area => modelUpdatePeriod = 6; this.MinimapRenderer = new MinimapRenderer(); this.XphRenderer = new XPHRenderer(); this.PreloadAlert = new PreloadAlert(); this.hudRenderers = new List <HUDPlugin> { new HealthBarRenderer(), new ItemAlerter(), this.MinimapRenderer, new ItemLevelRenderer(), new ItemRollsRenderer(), new DangerAlert(), this.XphRenderer, new ClientHacks(), this.PreloadAlert }; if (Settings.GetBool("Window.ShowIngameMenu")) { #if !DEBUG this.hudRenderers.Add(new Menu.Menu()); #endif } rc.OnRender += this.rc_OnRender; this.hudRenderers.ForEach(x => x.Init(poe, this)); }
public OverlayRenderer(PathOfExile poe, RenderingContext rc) { AreaChangeEvent event2 = null; Action <HUDPlugin> action = null; this.poe = poe; if (event2 == null) { event2 = area => this.tickCount = 6; } poe.CurrentArea.OnAreaChange += event2; this.hudRenderers = new List <HUDPlugin>(); this.hudRenderers.Add(new HealthBarRenderer()); this.hudRenderers.Add(new ItemAlerter()); this.hudRenderers.Add(this.MinimapRenderer = new MinimapRenderer()); this.hudRenderers.Add(new ItemLevelRenderer()); this.hudRenderers.Add(new DangerAlert()); this.hudRenderers.Add(this.XphRenderer = new XPHRenderer()); this.hudRenderers.Add(new ClientHacks()); this.hudRenderers.Add(this.PreloadAlert = new PreloadAlert()); if (Settings.GetBool("Window.ShowIngameMenu")) { this.hudRenderers.Add(new Menu()); } rc.OnRender += new RenderCallback(this.rc_OnRender); if (action == null) { action = x => x.Init(poe, this); } this.hudRenderers.ForEach(action); }
public static void Main(string[] args) { Offsets offs; int pid = FindPoeProcess(out offs); if (pid == 0) { MessageBox.Show("Path of Exile is not running!"); return; } Sounds.LoadSounds(); if (!Settings.LoadSettings()) { return; } using (Memory memory = new Memory(offs, pid)) { offs.DoPatternScans(memory); PathOfExile pathOfExile = new PathOfExile(memory); pathOfExile.Update(); OverlayRenderer overlay = null; AppDomain.CurrentDomain.UnhandledException += delegate(object sender, UnhandledExceptionEventArgs exceptionArgs) { if (overlay != null) { overlay.Detach(); } MessageBox.Show("Program exited with message:\n " + exceptionArgs.ExceptionObject.ToString()); Environment.Exit(1); }; try { Console.WriteLine("Starting overlay"); TransparentDXOverlay transparentDXOverlay = new TransparentDXOverlay(pathOfExile.Window, () => memory.IsInvalid()); transparentDXOverlay.InitD3D(); overlay = new OverlayRenderer(pathOfExile, transparentDXOverlay.RC); Application.Run(transparentDXOverlay); } finally { if (overlay != null) { overlay.Detach(); } } } }
public void Init(PathOfExile poe, OverlayRenderer overlay) { this.poe = poe; this.overlay = overlay; this.OnEnable(); }
public Area(PathOfExile poe) { this.Poe = poe; poe.OnUpdate += new UpdateEvent(this.poe_OnUpdate); }