コード例 #1
0
    public static Chat_Model_Base Parse(string str)
    {
        Chat_Model_LeaveClanRoom chat_Model_LeaveClanRoom = null;
        string s   = str.Substring(72, 8);
        int    num = int.Parse(s);

        if (num == 1)
        {
            Chat_Model_LeaveClanRoom chat_Model_LeaveClanRoom2 = new Chat_Model_LeaveClanRoom();
            chat_Model_LeaveClanRoom2.m_packetType = CHAT_PACKET_TYPE.CLAN_LEAVE_ROOM;
            chat_Model_LeaveClanRoom2.payload      = str.Substring(Chat_Model_Base.PAYLOAD_ORIGIN_INDEX);
            chat_Model_LeaveClanRoom2.RoomId       = str.Substring(40, 32);
            chat_Model_LeaveClanRoom2.Owner        = int.Parse(s);
            chat_Model_LeaveClanRoom = chat_Model_LeaveClanRoom2;
            string errorType = str.Substring(80);
            chat_Model_LeaveClanRoom.SetErrorType(errorType);
        }
        else
        {
            Chat_Model_LeaveClanRoom chat_Model_LeaveClanRoom2 = new Chat_Model_LeaveClanRoom();
            chat_Model_LeaveClanRoom2.m_packetType = CHAT_PACKET_TYPE.CLAN_LEAVE_ROOM;
            chat_Model_LeaveClanRoom2.payload      = str.Substring(Chat_Model_Base.PAYLOAD_ORIGIN_INDEX);
            chat_Model_LeaveClanRoom2.RoomId       = str.Substring(40, 32);
            chat_Model_LeaveClanRoom2.UserId       = str.Substring(80, 32);
            chat_Model_LeaveClanRoom2.Owner        = int.Parse(s);
            chat_Model_LeaveClanRoom = chat_Model_LeaveClanRoom2;
            chat_Model_LeaveClanRoom.SetErrorType("00000000");
        }
        return(chat_Model_LeaveClanRoom);
    }
コード例 #2
0
    public static Chat_Model_LeaveClanRoom Create(string roomId, string nickName)
    {
        Chat_Model_LeaveClanRoom chat_Model_LeaveClanRoom = new Chat_Model_LeaveClanRoom();

        chat_Model_LeaveClanRoom.RoomId   = roomId;
        chat_Model_LeaveClanRoom.NickName = nickName;
        Chat_Model_LeaveClanRoom chat_Model_LeaveClanRoom2 = chat_Model_LeaveClanRoom;

        chat_Model_LeaveClanRoom2.payload = chat_Model_LeaveClanRoom2.Serialize();
        return(chat_Model_LeaveClanRoom2);
    }
コード例 #3
0
 private void Leave(string roomId, string userName)
 {
     this.roomId   = roomId;
     this.userName = userName.Replace(":", ":");
     TryConnect(delegate(bool result)
     {
         if (result)
         {
             chatWebSocket.Send(Chat_Model_LeaveClanRoom.Create(this.roomId, this.userName), 0, true);
         }
         else
         {
             Log.Error("I failed to leave chat");
         }
     });
 }
コード例 #4
0
    public static Chat_Model_Base ParseModel(string str, CHAT_PACKET_TYPE type)
    {
        switch (type)
        {
        case CHAT_PACKET_TYPE.JOIN_ROOM:
            return(Chat_Model_JoinRoom.Parse(str));

        case CHAT_PACKET_TYPE.BROADCAST_ROOM:
            return(Chat_Model_BroadcastMessage_Response.Parse(str));

        case CHAT_PACKET_TYPE.PARTY_INVITE:
            return(Chat_Model_PartyInvite.Parse(str));

        case CHAT_PACKET_TYPE.CLAN_JOIN_ROOM:
            return(Chat_Model_JoinClanRoom.Parse(str));

        case CHAT_PACKET_TYPE.CLAN_LEAVE_ROOM:
            return(Chat_Model_LeaveClanRoom.Parse(str));

        case CHAT_PACKET_TYPE.CLAN_SENDTO:
            return(Chat_Model_SendToClanMessage_Response.Parse(str));

        case CHAT_PACKET_TYPE.CLAN_BROADCAST_ROOM:
            return(Chat_Model_BroadcastClanMessage_Response.Parse(str));

        case CHAT_PACKET_TYPE.CLAN_BROADCAST_STATUS:
            return(Chat_Model_BroadcastClanStatus_Response.Parse(str));

        case CHAT_PACKET_TYPE.RALLY_INVITE:
            return(Chat_Model_RallyInvite.Parse(str));

        case CHAT_PACKET_TYPE.DARK_MARKET_RESET:
            return(Chat_Model_ResetDarkMarket.Parse(str));

        case CHAT_PACKET_TYPE.DARK_MARKET_UPDATE:
            return(Chat_Model_UpdateDarkMarket.Parse(str));

        default:
            return(new Chat_Model_Base());
        }
    }
コード例 #5
0
    private void OnLeave(ChatPacket packet)
    {
        Chat_Model_LeaveClanRoom chat_Model_LeaveClanRoom = packet.model as Chat_Model_LeaveClanRoom;

        if (chat_Model_LeaveClanRoom != null && chat_Model_LeaveClanRoom.errorType == CHAT_ERROR_TYPE.NO_ERROR)
        {
            long result = 0L;
            long.TryParse(packet.header.fromId, out result);
            long result2 = 0L;
            long.TryParse(chatWebSocket.fromId, out result2);
            if (result == result2)
            {
                if (chat_Model_LeaveClanRoom.Owner == 1)
                {
                    joined = false;
                }
                if (this.onLeave != null)
                {
                    this.onLeave(chat_Model_LeaveClanRoom.errorType, chat_Model_LeaveClanRoom.UserId);
                }
            }
        }
    }