Example #1
0
 public bool Receive(string command, object param, long resTime)
 {
     if (param is NpCloudReceiveRoomParameter)
     {
         NpCloudReceiveRoomParameter response = param as NpCloudReceiveRoomParameter;
         return(this.Join(command, response, resTime) || this.Leave(command, response, resTime) || this.RemoveRoom(command, response, resTime) || this.ForceLeave(command, response, resTime));
     }
     return(false);
 }
Example #2
0
 private bool Join(string command, NpCloudReceiveRoomParameter response, long resTime)
 {
     if (command.Equals("9100"))
     {
         bool            isNewMember     = true;
         NpRoomParameter npRoomParameter = new NpRoomParameter(RoomJoinTypeE.Create, response.room_id, response.room_name, (RoomType)response.room_type, (int)NpCloudManager.GetInstance().UserID, isNewMember, response.owner, response.member_list, new List <RoomCondition>(), NpUtil.MsTimestampToDateTime(resTime));
         if (response.room_condition != null)
         {
             npRoomParameter.RoomCondition = response.room_condition;
         }
         List <int> member_list = response.member_list;
         if (!this.mJoinRoomList.ContainsKey(npRoomParameter.RoomId))
         {
             this.mJoinRoomList.Add(npRoomParameter.RoomId, npRoomParameter);
             this.mUserList.Add(npRoomParameter.RoomId, member_list);
         }
         else
         {
             this.mUserList[npRoomParameter.RoomId]     = member_list;
             this.mJoinRoomList[npRoomParameter.RoomId] = npRoomParameter;
         }
         this.mJoinRoom(npRoomParameter);
         return(true);
     }
     if (command.Equals("9102"))
     {
         NpRoomParameter npRoomParameter2 = new NpRoomParameter(RoomJoinTypeE.RoomJoin, response.room_id, response.room_name, (RoomType)response.room_type, response.member_joined, response.is_new_member != 0, response.owner, response.member_list, new List <RoomCondition>(), NpUtil.MsTimestampToDateTime(resTime));
         if (response.room_condition != null)
         {
             npRoomParameter2.RoomCondition = response.room_condition;
         }
         List <int> member_list2 = response.member_list;
         if (!this.mJoinRoomList.ContainsKey(npRoomParameter2.RoomId))
         {
             this.mJoinRoomList.Add(npRoomParameter2.RoomId, npRoomParameter2);
             this.mUserList.Add(npRoomParameter2.RoomId, member_list2);
         }
         else
         {
             this.mUserList[npRoomParameter2.RoomId]     = member_list2;
             this.mJoinRoomList[npRoomParameter2.RoomId] = npRoomParameter2;
         }
         this.mJoinRoom(npRoomParameter2);
         return(true);
     }
     return(false);
 }
Example #3
0
        private bool ForceLeave(string command, NpCloudReceiveRoomParameter response, long resTime)
        {
            if (!command.Equals("9106"))
            {
                return(false);
            }
            if (response.member_list == null)
            {
                return(true);
            }
            this.mUserList[response.room_id] = response.member_list;
            this.mJoinRoomList[response.room_id].MemberList = response.member_list;
            NpLeaveParameter obj = new NpLeaveParameter(LeaveTypeE.ForceLeave, response.room_id, response.member_left, response.owner, response.member_list, NpUtil.MsTimestampToDateTime(resTime));

            this.mLeaveRoom(obj);
            return(true);
        }
Example #4
0
 private bool RemoveRoom(string command, NpCloudReceiveRoomParameter response, long resTime)
 {
     if (command.Equals("9101"))
     {
         if (this.mJoinRoomList.ContainsKey(response.room_id))
         {
             this.mJoinRoomList.Remove(response.room_id);
         }
         if (this.mUserList.ContainsKey(response.room_id))
         {
             this.mUserList.Remove(response.room_id);
         }
         NpLeaveParameter obj = new NpLeaveParameter(LeaveTypeE.DeleteRoom, response.room_id, 0, 0, new List <int>(), NpUtil.MsTimestampToDateTime(resTime));
         this.mLeaveRoom(obj);
         return(true);
     }
     return(false);
 }