Пример #1
0
        private void InputDialog_Load(object sender, System.EventArgs e)
        {
            GameserverPlugin ctl = (GameserverPlugin)dataObject;

            btnOk.Text     = ctl.lang.getValue("buttonOk");
            btnCancel.Text = ctl.lang.getValue("buttonCancel");
        }
Пример #2
0
        /// <summary>
        /// Called when user hits OK in the property page
        /// </summary>
        protected override void OnPageApply()
        {
            GameserverPlugin ctl = dataObject as GameserverPlugin;

            if (ctl != null)
            {
                ctl.timer.Interval = ((int)timerInterval.Value) * 1000;
                ctl.timer.Enabled  = timerEnabled.Checked;
                ctl.timer.Stop();
                ctl.refresh(null);
            }
            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Imagine Interactive\Gameserver Panel", true);

            key.SetValue("useTimer", timerEnabled.Checked?"1":"0");
            key.SetValue("timerInterval", timerInterval.Value);
            key.Close();
            base.OnPageApply();
        }
Пример #3
0
        private void btnCatDel_Click(object sender, System.EventArgs e)
        {
            GameserverPlugin ctl = (dataObject as GameserverPlugin);
            DialogResult     res;
            RegistryKey      key;
            RegistryKey      server;

            if (categories.Items.Count == 1)
            {
                MessageBox.Show(ctl.lang.getValue("optionsCatMin"), "Gameserver");
                return;
            }

            int servers = 0;

            key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Imagine Interactive\Gameserver Panel\Servers", true);
            String[] serverList = key.GetSubKeyNames();
            for (int i = 0; i < serverList.Length; i++)
            {
                server = key.OpenSubKey(serverList[i]);
                MessageBox.Show(server.GetValue("category").ToString() + "==" + categories.SelectedItem.ToString());
                if (server.GetValue("category").ToString() == categories.SelectedItem.ToString())
                {
                    servers++;
                }
                server.Close();
            }
            key.Close();

            if (servers > 0)
            {
                MessageBox.Show(ctl.lang.getValue("optionsCatEmpty"), "Gameserver");
                return;
            }

            res = MessageBox.Show(ctl.lang.getValue("optionsCatDel"), "GameServer", MessageBoxButtons.YesNo);
            if (res == DialogResult.Yes)
            {
                key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Imagine Interactive\Gameserver Panel\Categories", true);
                key.DeleteSubKey(categories.SelectedText);
                key.Close();
            }
            loadCategories();
        }
Пример #4
0
        /// <summary>
        /// Called just before the property page is displayed
        /// </summary>
        protected override void OnPageActivate(System.IntPtr wndParent, Rectangle Rect, bool modal)
        {
            GameserverPlugin ctl = (dataObject as GameserverPlugin);

            if (ctl != null)
            {
                labelServer.Text     = ctl.lang.getValue("optionsServer");
                labelGames.Text      = ctl.lang.getValue("optionsGames");
                labelCategories.Text = ctl.lang.getValue("optionsCategory");
                timerEnabled.Text    = ctl.lang.getValue("optionsRefresh");
                labelSeconds.Text    = ctl.lang.getValue("optionsSeconds");

                propertyTooltip.SetToolTip(btnAdd, ctl.lang.getValue("hintServerAdd"));
                propertyTooltip.SetToolTip(btnEdit, ctl.lang.getValue("hintServerEdit"));
                propertyTooltip.SetToolTip(btnRemove, ctl.lang.getValue("hintServerRemove"));
                propertyTooltip.SetToolTip(btnSetPath, ctl.lang.getValue("hintSetPath"));
                propertyTooltip.SetToolTip(btnDelGame, ctl.lang.getValue("hintDelGame"));
                propertyTooltip.SetToolTip(btnAutoSeek, ctl.lang.getValue("hintAutoSeek"));
                propertyTooltip.SetToolTip(btnCatAdd, ctl.lang.getValue("hintCatAdd"));
                propertyTooltip.SetToolTip(btnCatDel, ctl.lang.getValue("hintCatDel"));
            }

            try
            {
                base.OnPageActivate(wndParent, Rect, modal);

                RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Imagine Interactive\Gameserver Panel");
                timerEnabled.Checked  = key.GetValue("useTimer").ToString() == "1"?true:false;
                timerInterval.Value   = Int32.Parse(key.GetValue("timerInterval").ToString());
                timerInterval.Enabled = timerEnabled.Checked;
                key.Close();
            }
            catch (Exception e)
            {
                Log.Error(e.Message);
            }
        }
Пример #5
0
        private void formServer_Load(object sender, System.EventArgs e)
        {
            GameserverPlugin ctl = (GameserverPlugin)dataObject;

            this.server_game.Items.Clear();

            RegistryKey server = Registry.LocalMachine.OpenSubKey(@"Software\Imagine Interactive\Gameserver Panel\Servers\Server" + this.serverID);

            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Imagine Interactive\Gameserver Panel\Games");

            String[] games = key.GetSubKeyNames();

            if (games.Length == 0)
            {
                key.Close();
                this.Close();
                return;
            }
            for (int i = 0; i < games.Length; i++)
            {
                RegistryKey gameInfo = key.OpenSubKey(games[i]);
                if (int.Parse(gameInfo.GetValue("isInstalled").ToString()) == 1)
                {
                    this.server_game.Items.Add(games[i]);
                }
                gameInfo.Close();
            }

            if (this.server_game.Items.Count == 0)
            {
                ctl.findGames();
                for (int i = 0; i < games.Length; i++)
                {
                    RegistryKey gameInfo = key.OpenSubKey(games[i]);
                    if (int.Parse(gameInfo.GetValue("isInstalled").ToString()) == 1)
                    {
                        this.server_game.Items.Add(games[i]);
                    }
                    gameInfo.Close();
                }
            }
            key.Close();

            if (this.server_game.Items.Count == 0)
            {
                MessageBox.Show(ctl.lang.getValue("formNoGames"));
                this.Close();
                return;
            }

            key = Registry.LocalMachine.OpenSubKey(@"Software\Imagine Interactive\Gameserver Panel\Categories");
            category.Items.AddRange(key.GetSubKeyNames());
            key.Close();

            if (this.category.Items.Count == 0)
            {
                MessageBox.Show(ctl.lang.getValue("formNoCats"));
                this.Close();
                return;
            }
            this.category.SelectedIndex = 0;

            if (this.serverID > 0)
            {
                this.server_game.SelectedIndex = this.server_game.Items.IndexOf(server.GetValue("game").ToString());
                this.server_ip.Text            = server.GetValue("ip").ToString();
                this.server_port.Text          = server.GetValue("port").ToString();
                this.server_name.Text          = server.GetValue("name").ToString();

                server.Close();
            }
            else
            {
                this.server_ip.Text            = "";
                this.server_port.Text          = "";
                this.server_game.SelectedIndex = 0;
                this.server_name.Text          = "";
            }

            this.label_game.Text     = ctl.lang.getValue("formLblGame") + ":";
            this.label_category.Text = ctl.lang.getValue("formLblCategory") + ":";
            this.label_name.Text     = ctl.lang.getValue("formLblName") + ":";
            this.label_ip.Text       = ctl.lang.getValue("formLblIp") + ":";
            this.label_port.Text     = ctl.lang.getValue("formLblPort") + ":";
            this.btnOK.Text          = ctl.lang.getValue("buttonOk");
            this.btnCancel.Text      = ctl.lang.getValue("buttonCancel");
        }
Пример #6
0
        private void btnOK_Click(object sender, System.EventArgs e)
        {
            GameserverPlugin ctl = (GameserverPlugin)dataObject;

            if (this.server_ip.Text == "")
            {
                MessageBox.Show(ctl.lang.getValue("formNoIp"));
                this.DialogResult = DialogResult.None;
                return;
            }
            if (this.server_port.Text == "")
            {
                MessageBox.Show(ctl.lang.getValue("formNoPort"));
                this.DialogResult = DialogResult.None;
                return;
            }
            if (this.server_name.Text == "")
            {
                MessageBox.Show(ctl.lang.getValue("formNoName"));
                this.DialogResult = DialogResult.None;
                return;
            }

            String keyToOpen = null;

            if (this.serverID == 0)
            {
                int newId = 0;

                try
                {
                    RegistryKey key = null;
                    key   = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Imagine Interactive\Gameserver Panel\Servers");
                    newId = 0;
                    String[] servers = key.GetSubKeyNames();
                    for (int i = 0; i < servers.Length; i++)
                    {
                        String serverData = servers[i];
                        serverData = serverData.Replace("Server", "");
                        if (int.Parse(serverData) > newId)
                        {
                            newId = int.Parse(serverData);
                        }
                    }
                    newId++;
                    key.Close();

                    keyToOpen = @"SOFTWARE\Imagine Interactive\Gameserver Panel\Servers\Server" + newId;

                    key = Registry.LocalMachine.CreateSubKey(keyToOpen);
                    key.Close();
                }
                catch (Exception error)
                {
                    Log.Error(error.Message);
                }
            }
            else
            {
                keyToOpen = @"SOFTWARE\Imagine Interactive\Gameserver Panel\Servers\Server" + serverID;
            }

            RegistryKey server = Registry.LocalMachine.OpenSubKey(keyToOpen, true);

            server.SetValue("game", this.server_game.Text);
            server.SetValue("ip", this.server_ip.Text);
            server.SetValue("port", this.server_port.Text);
            server.SetValue("name", this.server_name.Text);
            server.SetValue("category", this.category.Text);
            server.SetValue("queryPort", this.server_queryPort.Text);

            RegistryKey gameData = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Imagine Interactive\Gameserver Panel\Games\" + this.server_game.Text);

            server.SetValue("qstat", gameData.GetValue("qstat"));
            gameData.Close();

            server.Close();
        }