예제 #1
0
        private void HandleSendChatFeedback(byte[] data)
        {
            SendChatS2C feedback = ProtobufUtils.Deserialize <SendChatS2C>(data);

            if (feedback.result)
            {
                if (currnetChatConsumptionType == ChatConsumptionType.ChatItem)
                {
                    view.HideHornPanel();
                }

                if (view.currentChatTag == ChatMainView.ChatTag.PrivateChat)
                {
                    ChatDataStruct chatData = new ChatDataStruct();

                    ChatPlayerInfo chatPlayerInfo = new ChatPlayerInfo();
                    chatPlayerInfo.name     = dataManager.GetPlayerNickName();
                    chatPlayerInfo.portrait = dataManager.GetPlayerHeadIcon();
                    chatPlayerInfo.level    = dataManager.GetPlayerLevel();
                    chatPlayerInfo.playerId = currentChatId;

                    chatData.chatPlayerInfo = chatPlayerInfo;
                    chatData.message        = currentChatContent;
                    chatData.playerId       = currentChatId;

                    AddPrivateChatData(currentChatId, chatData);
                    view.ResfresPrivateChatItemData(GetPrivateChatData(currentChatId));
                }
            }
        }
예제 #2
0
        private void HandForwardChatFeedback(byte[] data)
        {
            ForwardChatS2C feedback = ProtobufUtils.Deserialize <ForwardChatS2C>(data);

            ChatPlayerInfo chatPlayerInfo = feedback.chatPlayerInfo;
            ChatDataStruct chatData       = new ChatDataStruct();

            chatData.chatPlayerInfo = chatPlayerInfo;
            chatData.message        = feedback.chatContent;
            chatData.playerId       = feedback.sendPlayerId;

            if (DataManager.GetInstance().GetPlayerId() != feedback.sendPlayerId)
            {
                chatData.isLeft = true;
            }
            else
            {
                chatData.isLeft = false;
            }

            if (feedback.chatConsumptionType == ChatConsumptionType.ChatItem)
            {
                MessageDispatcher.PostMessage(Constants.MessageType.RefreshHornNotificationData, chatData);
                return;
            }

            switch (feedback.chatType)
            {
            case ChatType.WorldChat:

                worldChatDataList.Add(chatData);

                break;

            case ChatType.FriendsChat:

                AddPrivateChatData(feedback.sendPlayerId, chatData);

                break;

            case ChatType.GuildChat:

                break;
            }

            MessageDispatcher.PostMessage(Constants.MessageType.RefreshPlayerChatData, feedback.chatType, feedback.sendPlayerId);
        }