コード例 #1
0
ファイル: Window.cs プロジェクト: RedNoodle/MCForge-Vanilla
        private void Window_Load(object sender, EventArgs e)
        {
            btnProperties.Enabled = false;
            thisWindow = this;
            MaximizeBox = false;
            this.Text = "Starting MCForge...";
            //this.Icon = new Icon(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MCLawl.Lawl.ico"));

            this.Show();
            this.BringToFront();
            WindowState = FormWindowState.Normal;
            new Thread(() => {
            s = new Server();
            s.OnLog += WriteLine;
            s.OnCommand += newCommand;
            s.OnError += newError;
            s.OnSystem += newSystem;
            s.OnAdmin += WriteAdmin;
            s.OnOp += WriteOp;

            /*foreach (TabPage tP in tabControl1.TabPages)
                tabControl1.SelectTab(tP);
            tabControl1.SelectTab(tabControl1.TabPages[0]);*/

            s.HeartBeatFail += HeartBeatFail;
            s.OnURLChange += UpdateUrl;
            s.OnPlayerListChange += UpdateClientList;
            s.OnSettingsUpdate += SettingsUpdate;
            s.Start();
            //btnProperties.Enabled = true;
            if (btnProperties.InvokeRequired)
            {
                VoidDelegate d = btnPropertiesenable;
                Invoke(d);
            }
            else
            {
                btnProperties.Enabled = true;
            }
            }).Start();
            notifyIcon1.Text = ("MCForge Server: " + Server.name).Truncate(64);

            this.notifyIcon1.ContextMenuStrip = this.iconContext;
            this.notifyIcon1.Icon = this.Icon;
            this.notifyIcon1.Visible = true;
            this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick);

            //if (File.Exists(Logger.ErrorLogPath))
            //txtErrors.Lines = File.ReadAllLines(Logger.ErrorLogPath);
            if (File.Exists("Changelog.txt"))
            {
                txtChangelog.Text = "Changelog for " + Server.Version + ":";
                foreach (string line in File.ReadAllLines(("Changelog.txt")))
                {
                    txtChangelog.AppendText("\r\n           " + line);
                }
            }

            // Bind player list
            dgvPlayers.DataSource = pc;
            dgvPlayers.Font = new Font("Calibri", 8.25f);

            dgvMaps.DataSource = new LevelCollection(new LevelListView());
            dgvMaps.Font = new Font("Calibri", 8.25f);

            dgvMapsTab.DataSource = new LevelCollection(new LevelListViewForTab());
            dgvMapsTab.Font = new Font("Calibri", 8.25f);

            /*using (System.Timers.Timer UpdateListTimer = new System.Timers.Timer(10000))
            {
                UpdateListTimer.Elapsed += delegate
                {
                    UpdateClientList(Player.players);
                    UpdateMapList("'");
                    Server.s.Log("Lists updated!");
                }; UpdateListTimer.Start();
            }*/

            UpdateListTimer.Elapsed += delegate
            {
                try {
                    UpdateClientList(Player.players);
                    UpdateMapList("'");
                } catch {} // needed for slower computers
                //Server.s.Log("Lists updated!");
            }; UpdateListTimer.Start();
        }
コード例 #2
0
ファイル: Window.cs プロジェクト: Jack1312/MCForge-Items
        private void Window_Load(object sender, EventArgs e)
        {
            thisWindow = this;
            MaximizeBox = false;
            this.Text = "<server name here>";
            //this.Icon = new Icon(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MCLawl.Lawl.ico"));

            this.Show();
            this.BringToFront();
            WindowState = FormWindowState.Normal;

            s = new Server();
            s.OnLog += WriteLine;
            s.OnCommand += newCommand;
            s.OnError += newError;
            s.OnSystem += newSystem;

            foreach (TabPage tP in tabControl1.TabPages)
                tabControl1.SelectTab(tP);
            tabControl1.SelectTab(tabControl1.TabPages[0]);

            s.HeartBeatFail += HeartBeatFail;
            s.OnURLChange += UpdateUrl;
            s.OnPlayerListChange += UpdateClientList;
            s.OnSettingsUpdate += SettingsUpdate;
            s.Start();
            notifyIcon1.Text = ("MCForge Server: " + Server.name).Truncate(64);

            this.notifyIcon1.ContextMenuStrip = this.iconContext;
            this.notifyIcon1.Icon = this.Icon;
            this.notifyIcon1.Visible = true;
            this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick);

            //if (File.Exists(Logger.ErrorLogPath))
                //txtErrors.Lines = File.ReadAllLines(Logger.ErrorLogPath);
            if (File.Exists("Changelog.txt"))
            {
                txtChangelog.Text = "Changelog for " + Server.Version + ":";
                foreach (string line in File.ReadAllLines(("Changelog.txt")))
                {
                    txtChangelog.AppendText("\r\n           " + line);
                }
            }

            // Bind player list
            dgvPlayers.DataSource = pc;
            dgvPlayers.Font = new Font("Calibri", 8.25f);

            dgvMaps.DataSource = new LevelCollection(new LevelListView());
            dgvMaps.Font = new Font("Calibri", 8.25f);

            System.Timers.Timer UpdateListTimer = new System.Timers.Timer(10000);
            UpdateListTimer.Elapsed += delegate
            {
                UpdateClientList(Player.players);
                UpdateMapList("'");
            }; UpdateListTimer.Start();
        }