public void AddRoom(List <Client.ModelObject.Room> listRoom) { listRoomFromTop = listRoom; for (int i = 0; i < listRoom.Count; i += 1) { existRoom x = new existRoom(listRoomFromTop[i].id, listRoomFromTop[i].name, false, null, listRoomFromTop[i].members); if (!listExistRoom.Contains(x)) { listExistRoom.Add(x); } } }
private void btnLeave_Click(object sender, EventArgs e) { int id = Program.RandomNumber(0, 2 ^ 32); Client.ModelObject Send = new Client.ModelObject(); Send.command.code = "10"; Send.command.id = id.ToString(); Send.room.id = currentRoom.IDROOM; register.socket.Send(Send); btnSetting_Click(sender, e); foreach (Client.ModelObject.Room x in listRoomFromTop) { if (x.id == currentRoom.IDROOM) { listRoomFromTop.Remove(x); break; } } RecvData(10, Send.command.id); currentRoom.myPanel.Dispose(); currentRoom.myRoom.Dispose(); currentRoom = null; if (listExistRoom.Count != 0) { currentRoom = listExistRoom[0]; ShowChatPanel(currentRoom.myPanel, currentRoom.myRoom); } else { nameRoomHeader.Text = "Welcome"; roomIdHeader.Text = "000000"; } }
public void ShowBlockChat(object sender, EventArgs e) { var roomClicked = (Room)sender; if (currentRoom != null) { nameRoomHeader.Text = roomClicked.nameRoom; pictureBoxHeader.FillColor = roomClicked.ColorAvatar; roomIdHeader.Text = roomClicked.IDROOM; for (int i = 0; i < listExistRoom.Count; i++) { if (roomClicked.IDROOM == listExistRoom[i].IDROOM) { listExistRoom[i].myPanel.Show(); currentRoom = listExistRoom[i]; } else { listExistRoom[i].myPanel.Hide(); } } } }
public void JoinRoom() { for (int i = 0; i < listExistRoom.Count; i++) { if (!listExistRoom[i].STATUS) { Room croom = new Room(); panelSidebar.Controls.Add(croom); croom.Dock = DockStyle.Top; croom.lastestMessage = ""; croom.nameRoom = listExistRoom[i].NAMEROOM; croom.IDROOM = listExistRoom[i].IDROOM; listExistRoom[i].STATUS = true; listExistRoom[i].myRoom = croom; Panel newPanel = new Panel(); newPanel.BackColor = Color.White; subpanel.Controls.Add(newPanel); panelMain.AutoScroll = false; panelMain.VerticalScroll.Enabled = true; panelMain.VerticalScroll.Visible = true; panelMain.AutoScroll = true; newPanel.Dock = DockStyle.Fill; newPanel.AutoScroll = true; newPanel.AutoSize = true; listExistRoom[i].myPanel = newPanel; croom.OnClick += ShowBlockChat; currentRoom = listExistRoom[i]; ShowChatPanel(listExistRoom[i].myPanel, listExistRoom[i].myRoom); AddToCurrentRoom(listExistRoom[i].IDROOM, listExistRoom[i].NAMEROOM, listExistRoom[i].MEMBERS); } } }