Beispiel #1
0
 private void HandlePackets(PacketCommand command)
 {
     if (InvokeRequired)
     {
         Invoke(new Action<PacketCommand>(HandlePackets), command);
     }
     else
     {
         if (command.Command == "POINTS")
             DevPointCount.Text = command.Data;
         if (command.Command == "MSG")
             MessageBox.Show(command.Data);
         if (command.Command == "USERNAME")
         {
             Program.ChangeUsername(command.Data);
         }
     }
 }
        public void OnRoomPlayersUpdate(PacketCommand data)
        {
            if (m_rooms.ContainsKey(data.Command))
            {
                string[] parts = data.Data.Split('|');
                string[] eloparts = parts[1].Split(',');
                string[] players = parts[0].Split(',');
                List<int> elos = new List<int>();
                foreach (string elo in eloparts)
                {
                    int value = 1200;
                    try
                    {
                        value=int.Parse(elo);
                    }
                    catch
                    {
                        //MessageBox.Show("Error in parsing Elo from:" + eloparts.ToString());
                    }
                    elos.Add(value);
                }

                Invoke(new Action<string, string[], int[]>(InternalRoomPlayersUpdate), data.Command, (object)players,(object)elos.ToArray());
            }
        }
Beispiel #3
0
        private void HandleTeamRequest(PacketCommand command)
        {
            if (InvokeRequired)
            {
                Invoke(new Action<PacketCommand>(HandleTeamRequest), command);
                return;
            }
            switch(command.Command)
            {
                case "JOIN":

                    if (Program.Config.RefuseTeamInvites)
                    {
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "AUTOREFUSE"}));
                        return;
                    }

                    if (MessageBox.Show(command.Data + " has invited you to join a team.", "Team Request", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have accepted the team invite."));
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "ACCEPT"}));
                    }
                    else
                    {
                        WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have refused the team invite."));
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "REFUSE"}));
                    }
                    break;
                case "LEAVE":
                    Program.UserInfo.team = string.Empty;
                    Program.UserInfo.teamRank = 0;
                    ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have left the team."));
                    break;
                case "REMOVED":
                    Program.UserInfo.team = string.Empty;
                    Program.UserInfo.teamRank = 0;
                    ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have been removed from the team."));
                    break;
                case "DISBAND":
                    if (Program.UserInfo.team == command.Data)
                    {
                        Program.UserInfo.team = string.Empty;
                        Program.UserInfo.teamRank = 0;
                        ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    }
                    break;
            }   
        }
Beispiel #4
0
 public void OnRoomPlayersUpdate(PacketCommand data)
 {
     if (m_rooms.ContainsKey(data.Command))
     {
         Invoke(new Action<string, string[]>(InternalRoomPlayersUpdate), data.Command, ((object)data.Data.Split(',')));
     }
 }
Beispiel #5
0
        private void HandleTeamRequest(PacketCommand command)
        {
            if (InvokeRequired)
            {
                Invoke(new Action<PacketCommand>(HandleTeamRequest), command);
                return;
            }
            switch(command.Command)
            {
                case "JOIN":
                    string team;
                    if (m_userData.ContainsKey(command.Data))
                        team = m_userData[command.Data].team;
                    else
                        return;

                    if (Program.Config.RefuseTeamInvites)
                    {
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "AUTOREFUSE"}));
                        return;
                    }

                    if (MessageBox.Show("You have been invited to join the team " + team, "Team Request", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have accepted the team invite to join " + team));
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "ACCEPT"}));
                    }
                    else
                    {
                        WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have refused the team invite to join " + team));
                        Program.ChatServer.SendPacket(DevServerPackets.TeamCommand,
                            JsonSerializer.SerializeToString(new PacketCommand { Command = "REFUSE"}));
                    }
                    break;
                case "LEAVE":
                    Program.UserInfo.team = string.Empty;
                    Program.UserInfo.teamRank = 0;
                    TeamNameLabel.Text = "Team: None";
                    TeamList.Items.Clear();
                    ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have left the team."));
                    break;
                case "REMOVED":
                    Program.UserInfo.team = string.Empty;
                    Program.UserInfo.teamRank = 0;
                    TeamNameLabel.Text = "Team: None";
                    TeamList.Items.Clear();
                    ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    WriteMessage(new ChatMessage(MessageType.System, CommandType.None, Program.UserInfo.username, "You have been removed from the team."));
                    break;
                case "DISBAND":
                    if (Program.UserInfo.team == command.Data)
                    {
                        Program.UserInfo.team = string.Empty;
                        Program.UserInfo.teamRank = 0;
                        TeamNameLabel.Text = "Team: None";
                        TeamList.Items.Clear();
                        ChannelTabs.TabPages.Remove(GetChatWindow(MessageType.Team.ToString()));
                    }
                    foreach (string user in m_userData.Keys.Where(user => m_userData[user].team == command.Data))
                    {
                        m_userData[user].team = string.Empty;
                        m_userData[user].teamRank = 0;
                    }

                    break;
            }
        }
        public void OnRoomPlayersUpdate(PacketCommand data)
        {
            if (m_rooms.ContainsKey(data.Command))
            {
                string[] parts = data.Data.Split('|');
                string[] eloparts = parts[1].Split(',');
                string[] players = parts[0].Split(',');
                List<int> elos = new List<int>();
                foreach (string elo in eloparts)
                    elos.Add(int.Parse(elo));

                Invoke(new Action<string, string[], int[]>(InternalRoomPlayersUpdate), data.Command, (object)players,(object)elos.ToArray());
            }
        }