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(); }