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()); } }
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; } }
public void OnRoomPlayersUpdate(PacketCommand data) { if (m_rooms.ContainsKey(data.Command)) { Invoke(new Action<string, string[]>(InternalRoomPlayersUpdate), data.Command, ((object)data.Data.Split(','))); } }
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()); } }