Exemplo n.º 1
0
        public void Startup()
        {
            _telemetryData = new TelemetryData();
            _timingData    = new TimingData();
            _analysisData  = new AnalysisManager();

            lsvPlugins.Items.Clear();

            _plugins = new Dictionary <string, IGame>();
            ICollection <IGame> plugins = PluginLoader <IGame> .LoadPlugins("Plugins");

            if (plugins.Count > 0)
            {
                foreach (var item in plugins)
                {
                    _plugins.Add(item.Name, item);

                    string[] lvText = new string[4];
                    lvText[0] = "";
                    lvText[1] = item.DisplayName;
                    lvText[2] = item.Version;

                    ListViewItem lvItem = new ListViewItem(lvText);

                    Bitmap pluginIcon = item.Icon;

                    if (pluginIcon != null)
                    {
                        imageListPlugins.Images.Add(item.Name, pluginIcon);
                        lvItem.ImageKey = item.Name;
                    }
                    else
                    {
                        lvItem.ImageKey = "missing";
                    }

                    lsvPlugins.Items.Add(lvItem);
                }
                _processMonitor = new ProcessMonitor(_plugins);
                _processMonitor.GameLoadedEvent += new ProcessMonitor.GameLoaded(GameLoaded);
                _processMonitor.GameClosedEvent += new ProcessMonitor.GameClosed(GameClosed);
                _processMonitor.StartProcessMonitor();

                _ipAddress = NetHelpers.GetLocalIpAddress();

                StartWebServer();
            }
            else
            {
                MessageBox.Show("No Plugins Were Found, Application will now exit", "Plugin Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }
        }