Exemple #1
0
        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;
                }
            }
        }
Exemple #2
0
 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;
         }
     }
 }
Exemple #3
0
        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;
                }
            }
        }