public static void Init(this IChat9xServiceInterface agent) { agent.AddPublishDataFunc(ServiceType.Chat, (p, list) => { switch (p) { case 5043: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_ChatNotify_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_content__>(ms)); } break; case 5046: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_SyncChatMessage_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_content__>(ms)); } break; case 5047: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_BroadcastWorldMessage_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_content__>(ms)); } break; case 5056: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_SyncToListCityChatMessage_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_Content_string_ChannelName__>(ms)); } break; case 5510: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_BroadcastAnchorOnline_ARG_string_charName_int32_online__>(ms)); } break; case 5511: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_NotifyChatRoseEffectChange_ARG_int32_chatType__>(ms)); } break; case 5513: using (var ms = new MemoryStream(list, false)) { return(Serializer.Deserialize <__RPC_Chat_BroadcastAnchorEnterRoom_ARG_string_charName__>(ms)); } break; default: break; } return(null); }); agent.AddPublishMessageFunc(ServiceType.Chat, (evt) => { switch (evt.Message.FuncId) { case 5043: { var data = evt.Data as __RPC_Chat_ChatNotify_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_content__; agent.ChatNotify(data.ChatType, data.CharacterId, data.CharacterName, data.Content); } break; case 5046: { var data = evt.Data as __RPC_Chat_SyncChatMessage_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_content__; agent.SyncChatMessage(data.ChatType, data.CharacterId, data.CharacterName, data.Content); } break; case 5047: { var data = evt.Data as __RPC_Chat_BroadcastWorldMessage_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_content__; agent.BroadcastWorldMessage(data.ChatType, data.CharacterId, data.CharacterName, data.Content); } break; case 5056: { var data = evt.Data as __RPC_Chat_SyncToListCityChatMessage_ARG_int32_chatType_uint64_characterId_string_characterName_ChatMessageContent_Content_string_ChannelName__; agent.SyncToListCityChatMessage(data.ChatType, data.CharacterId, data.CharacterName, data.Content, data.ChannelName); } break; case 5510: { var data = evt.Data as __RPC_Chat_BroadcastAnchorOnline_ARG_string_charName_int32_online__; agent.BroadcastAnchorOnline(data.CharName, data.Online); } break; case 5511: { var data = evt.Data as __RPC_Chat_NotifyChatRoseEffectChange_ARG_int32_chatType__; agent.NotifyChatRoseEffectChange(data.ChatType); } break; case 5513: { var data = evt.Data as __RPC_Chat_BroadcastAnchorEnterRoom_ARG_string_charName__; agent.BroadcastAnchorEnterRoom(data.CharName); } break; default: break; } }); }