Exemplo n.º 1
0
        private void BackButton_Click(object sender, EventArgs e)
        {
            Form menu = new MainMenuForm();

            menu.Show();
            Dispose();
        }
Exemplo n.º 2
0
        private void Login()
        {
            //Check input isn't empty, else error message is shown
            if (usernameBox.TextLength > 0 && passwordBox.TextLength > 0)
            {
                //Sends input to login function, if input is good, sends user to main menu
                //Else error message is shown
                var result = NetworkClasses.Login(usernameBox.Lines[0], passwordBox.Lines[0],
                                                  Helpers.GetLocalIpAddress());
                if (result == "good" || result == "online")
                {
                    NetworkClasses.UpdateUserValue("User_List", "Online", "Online", User.PlayerId);
                    Form form = new MainMenuForm();
                    form.Show();
                    Dispose();
                }
                else if (result == "pass" || result == "user")
                {
                    MessageBox.Show("Invalid Username/Password", "Login error", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }

                /*else if (result == "online")
                 * {
                 *  MessageBox.Show("User already logged in", "Login error", MessageBoxButtons.OK,
                 *      MessageBoxIcon.Error);
                 * }*/
            }
            else
            {
                MessageBox.Show("Username and password cannot be blank.", "Login error", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// On click, takes user back to the main menu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mainMenu_Click(object sender, EventArgs e)
        {
            var main = new MainMenuForm();

            Client.ClientStop();
            main.Show();
            Dispose();
        }
        /// <summary>
        /// On click, resets character to null, stops NetServer, and takes user back to main menu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void leaveGame_Click(object sender, EventArgs e)
        {
            _timer.Stop();
            NetworkClasses.UpdateUserValue("User_List", "_Character", null, User.PlayerId);
            NetworkClasses.UpdateUserValue("User_List", "Online", "Online", User.PlayerId);
            Host.ServerStop();
            Form form = new MainMenuForm();

            form.Show();
            _chat.Dispose();
            if (!_profile.IsDisposed)
            {
                _profile.Dispose();
            }
            Dispose();
        }
Exemplo n.º 5
0
        private void gameTimer_tick(object sender, EventArgs e)
        {
            if (!Client.gameClose)
            {
                return;
            }
            _gameTimer.Stop();
            if (!_chat.IsDisposed)
            {
                _chat.Dispose();
            }
            NetworkClasses.UpdateUserValue("User_List", "Online", "Online", User.PlayerId);
            MessageBox.Show("Game Closed.", "Update", MessageBoxButtons.OK);
            Form form = new MainMenuForm();

            form.Show();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Updates the list of players with the current information about the server via the database
        /// </summary>
        private void UpdateList()
        {
            var done = true;

            try
            {
                //Gets server info and places it into a dataset
                var ds = NetworkClasses.GetServer(Client.Conn);

                //Checks if game has started
                if (ds.Tables[0].Rows[0]["Status"].ToString() == "In Progress")
                {
                    NetworkClasses.UpdateUserValue("User_List", "Online", "In Game", User.PlayerId);
                    //MainMenuForm form = new MainMenuForm();
                    //form.Show();
                    //_chat.Dispose();
                    if (!_profile.IsDisposed)
                    {
                        _profile.Dispose();
                    }
                    _timer.Stop();
                    _gameTimer.Start();
                    Hide();
                    return;
                }

                var currentNumPlayers = NetworkClasses.GetNumPlayers(int.Parse(ds.Tables[0].Rows[0]["Server_ID"].ToString()));
                if (_players.Count == currentNumPlayers && _players.Count >= 1)
                {
                    //Check if characters have changed
                    var newPlayerChars = new List <DataSet>
                    {
                        NetworkClasses.GetPlayer(int.Parse(ds.Tables[0].Rows[0]["Host"].ToString()))
                    };
                    for (var i = 2; i <= 6; i++)
                    {
                        if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["Player_" + i].ToString()))
                        {
                            newPlayerChars.Add(
                                NetworkClasses.GetPlayer(int.Parse(ds.Tables[0].Rows[0]["Player_" + i].ToString())));
                        }
                    }
                    for (var i = 0; i < newPlayerChars.Count; i++)
                    {
                        if (_players[i].Tables[0].Rows[0]["_Character"].ToString() !=
                            newPlayerChars[i].Tables[0].Rows[0]["_Character"].ToString())
                        {
                            done = false;
                            break;
                        }
                    }
                    if (done)
                    {
                        return;
                    }
                }

                //Updating
                _players.Clear();
                playerList.Items.Clear();
                var row = ds.Tables[0].Rows[0];

                var grabber = NetworkClasses.GetPlayer(int.Parse(row["Host"].ToString()));
                _players.Add(grabber);
                var Character = "";

                //Host
                var listItem = new ListViewItem(grabber.Tables[0].Rows[0]["Username"].ToString());
                Character = grabber.Tables[0].Rows[0]["_Character"].ToString();
                listItem.SubItems.Add(Character);

                //Add the row entry to the listview
                playerList.Items.Add(listItem);

                for (var i = 2; i <= 6; i++)
                {
                    if (!string.IsNullOrEmpty(row["Player_" + i].ToString()))
                    {
                        grabber = NetworkClasses.GetPlayer(int.Parse(row["Player_" + i].ToString()));
                        _players.Add(grabber);
                        listItem  = new ListViewItem(grabber.Tables[0].Rows[0]["Username"].ToString());
                        Character = grabber.Tables[0].Rows[0]["_Character"].ToString();
                        listItem.SubItems.Add(Character);
                        playerList.Items.Add(listItem);
                    }
                }
            }
            catch (Exception e) //Thrown if server no longer exists
            {
                Console.WriteLine(e);
                //If the host leaves, the server no longer exists and the removing the player will throw an exception
                try
                {
                    NetworkClasses.FindRemovePlayer(Client.Conn, User.PlayerId);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                _chat.Dispose();
                Form form = new MainMenuForm();
                form.Show();
                _timer.Stop();
                Client.ClientStop();

                NetworkClasses.UpdateUserValue("User_List", "_Character", null, User.PlayerId);
                NetworkClasses.UpdateUserValue("User_List", "Online", "Online", User.PlayerId);
                Dispose();
                MessageBox.Show("Host left the game", "Server Disconnected", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }