public static void Invite(string user_id, string friend_id, string user_avatar, TcpClient userClient) { for (int i = 0; i < roomList.Count; i++) { Room room = roomList[i]; if (room.join_id.Equals(friend_id)) { Server.SendData("youhostduel:busy:", userClient); return; } } for (int i = 0; i < onlineList.Count; i++) { Online friend = onlineList[i]; if (friend.user_id.Equals(friend_id)) { Random random = new Random(); string room_no = Convert.ToString(random.Next(1, 999999)); RoomDuel roomDuel = new RoomDuel { host_id = user_id, join_id = friend_id, hostClient = userClient, joinClient = friend.userClient, room_no = room_no }; Room room = new Room { host_id = user_id, host_avatar = user_avatar, hostClient = userClient, room_no = room_no, room_key = roomDuel.room_key }; // thêm vào danh sách room roomList.Add(room); roomDuelList.Add(roomDuel); // gửi thông tin cho phép user tạo phòng chiến với bạn Server.SendData("youhostduel:true:" + room_no, userClient); // gửi thông tin lời mời cho friend Server.SendData("invitetoduel:" + user_id + ":" + room_no, friend.userClient); // lưu room vào db DataBase.TaoRoom(user_id, room_no, roomDuel.room_key); break; } } }
public static void DuelAccept(string accept_id, string accept_avatar) { for (int i = 0; i < roomDuelList.Count; i++) { RoomDuel roomDuel = roomDuelList[i]; if (roomDuel.join_id.Equals(accept_id)) { JoinRoom(accept_id, roomDuel.room_no, accept_avatar, roomDuel.joinClient); break; } } }
public static void DuelRefuse(string refuse_id) { for (int i = 0; i < roomDuelList.Count; i++) { RoomDuel roomDuel = roomDuelList[i]; if (roomDuel.join_id.Equals(refuse_id)) { Server.SendData("youhostduel:false:" + refuse_id, roomDuel.hostClient); RemoveRoom(roomDuel.room_no); break; } } }