public OverlayRenderer(GameController gameController, SettingsRoot settings, RenderingContext rc) { this.Settings = settings; this.gameController = gameController; this.plugins = new List <HUDPlugin> { new HealthBarRenderer(), new ItemAlerter(), new MapIconsRenderer(gatherMapIcons), new AdvTooltopRenderer(), new MonsterTracker(), new PoiTracker(), new XPHRenderer(), new ClientHacks(), #if DEBUG //new ShowUiHierarchy(), //new MainAddresses(), #endif new PreloadAlert(), new DpsMeter(), // new FpsMeter(), }; gameController.Area.OnAreaChange += (area) => { _modelUpdatePeriod = 6; foreach (var hudPlugin in plugins) { hudPlugin.OnAreaChange(area); } }; foreach (var plugin in plugins) { if (null != plugin.SettingsNode) { Settings.AddModule(plugin.SettingsNode); } } if (Settings.Global.ShowIngameMenu) { #if !DEBUG this.plugins.Add(new Menu.Menu(settings)); #endif } UpdateObserverLists(); rc.RenderModules = this.rc_OnRender; this.plugins.ForEach(x => x.Init(gameController)); }
public Menu(SettingsRoot settings) { this.settingsRoot = settings; settingsRoot.AddModule(Settings); settingsRoot.ReadFromFile(); }