Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public Menu(SettingsRoot settings)
 {
     this.settingsRoot = settings;
     settingsRoot.AddModule(Settings);
     settingsRoot.ReadFromFile();
 }