Beispiel #1
0
        private void DisplayData(ChatMessageNew chatMessage, bool isSelf)
        {
            string        str = chatMessage.Message;
            AgentBaseInfo abi = chatMessage.Client;

            if (chatMessage.ChatType == 8)
            {
                str = "#e062" + str;
                if (Singleton <TrumpetView> .Instance != null && isSelf)
                {
                    Singleton <TrumpetView> .Instance.ClearContent();
                }
                CtrlManager.CloseWindow(WindowID.TrumpetView);
            }
            GridHelper.AddToGrid <ChatItem>(this.transGrid, (!isSelf) ? this.otherChatItem : this.myChatItem, isSelf, delegate(int idx, ChatItem comp)
            {
                comp.Init(abi, str, idx, isSelf, (ChatType)chatMessage.ChatType);
                comp.name = idx.ToString();
                this.queueChat.Enqueue(comp);
            });
            if (this.queueChat.Count > 99)
            {
                ChatItem chatItem = this.queueChat.Dequeue();
                UnityEngine.Object.Destroy(chatItem.gameObject);
            }
            this.usv.contentPivot = UIWidget.Pivot.Bottom;
            this.usv.ResetPosition();
            this.JudgePosition();
        }
Beispiel #2
0
 private void OnMsg_chatviewInitRoom(MobaMessage msg)
 {
     if (msg.Param != null)
     {
         if ((int)msg.Param == 3)
         {
             Queue <ChatMessageNew> queue = ModelManager.Instance.Get_Lobby_Chat_DataX();
             if (!Singleton <HomeChatview> .Instance.hasClearRoomChat)
             {
                 this.ClearGrid(out Singleton <HomeChatview> .Instance.hasClearRoomChat);
             }
             while (queue.Count > 0)
             {
                 ChatMessageNew chatMessageNew = queue.Dequeue();
                 bool           isSelf         = chatMessageNew.Client.UserId == Singleton <HomeChatview> .Instance.UserID;
                 this.DisplayData(chatMessageNew, isSelf);
             }
             this.mRoomChatRoot.SetActive(true);
             this.mScrollView.ResetPosition();
             this.JudgePosition();
         }
         else
         {
             this.mRoomChatRoot.SetActive(false);
         }
     }
 }
 private void SetData(ChatMessageNew _msgData)
 {
     if (_msgData != null)
     {
         string text = _msgData.Client.NickName + ":" + _msgData.Message;
         this.mContent.text = text;
     }
 }
 private void OnMsg_ReceiveRoomChatMessage(MobaMessage msg)
 {
     if (msg.Param != null)
     {
         ChatMessageNew item = (ChatMessageNew)msg.Param;
         this.mMsgQueue.Enqueue(item);
     }
 }
 private void OnMsg_Chat_Recv(MobaMessage msg)
 {
     if (msg != null)
     {
         OperationResponse operationResponse = msg.Param as OperationResponse;
         if (operationResponse != null)
         {
             byte[]         buffer         = (byte[])operationResponse.Parameters[100];
             ChatMessageNew chatMessageNew = SerializeHelper.Deserialize <ChatMessageNew>(buffer);
             UserData       userData       = ModelManager.Instance.Get_userData_X();
             if (userData.UserId.CompareTo(chatMessageNew.Client.UserId.ToString()) == 0 && chatMessageNew.ChatType == 3)
             {
                 ModelManager.Instance.Set_Last_ChatSent_Time(ToolsFacade.ServerCurrentTime);
             }
             if (chatMessageNew.ChatType == 8 || chatMessageNew.ChatType == 5)
             {
                 MobaMessageManagerTools.SendClientMsg(ClientC2V.ReceiveHallChatMessage, chatMessageNew, false);
                 if (ModelManager.Instance.Get_HomeChatViewState())
                 {
                     this.data.tempHallData.Enqueue(chatMessageNew);
                     if (this.data.tempHallData.Count > 40)
                     {
                         this.data.tempHallData.Dequeue();
                     }
                 }
                 if (chatMessageNew.ChatType == 8 && this.data.vipHallData.Count < 40)
                 {
                     this.data.vipHallData.Add(chatMessageNew);
                 }
                 this.data.HallChatData.Enqueue(chatMessageNew);
                 if (this.data.HallChatData.Count > 40)
                 {
                     this.data.HallChatData.Dequeue();
                 }
             }
             else if (chatMessageNew.ChatType == 7)
             {
                 MobaMessageManagerTools.SendClientMsg(ClientC2V.ReceiveFriendChatMessage, chatMessageNew, false);
             }
             else if (chatMessageNew.ChatType == 2)
             {
                 MobaMessageManagerTools.SendClientMsg(ClientC2V.ReceiveRoomChatMessage, chatMessageNew, false);
                 if (ModelManager.Instance.Get_HomeChatViewState())
                 {
                     this.data.LobbyChatData.Enqueue(chatMessageNew);
                     if (this.data.tempHallData.Count > 40)
                     {
                         this.data.tempHallData.Dequeue();
                     }
                 }
             }
             base.Data = this.data;
         }
     }
 }
Beispiel #6
0
 private void OnMsg_ReceiveRoomChatMessage(MobaMessage msg)
 {
     if (msg.Param != null)
     {
         MobaMessageManagerTools.SendClientMsg(ClientV2C.chatviewCloseEmotion, null, false);
         ChatMessageNew chatMessageNew = (ChatMessageNew)msg.Param;
         bool           isSelf         = chatMessageNew.Client.UserId == Singleton <HomeChatview> .Instance.UserID;
         this.DisplayData(chatMessageNew, isSelf);
         this.mScrollView.ResetPosition();
         this.JudgePosition();
     }
 }
    public void SendMessage()
    {
        ChatMessageNew message = new ChatMessageNew
        {
            sender   = NetworkClient.connection.identity.netId.ToString(),
            messsage = input.text
        };

        //OnServerPostChatMessage(message);
        CmdSendMessageToServer(message);
        //chatMessages.Add(message);
    }
 private void OnMsg_ReceiveHallChatMessage(MobaMessage msg)
 {
     if (msg.Param != null)
     {
         ChatMessageNew chatMessageNew = (ChatMessageNew)msg.Param;
         if (chatMessageNew.Client.UserId != this.userID && this.currType != ChitchatType.Hall)
         {
             this.markPoint.gameObject.SetActive(true);
         }
         else
         {
             this.markPoint.gameObject.SetActive(false);
         }
     }
 }
Beispiel #9
0
 private void OnMsg_ReceiveHallChatMessage(MobaMessage msg)
 {
     if (msg != null)
     {
         ChatMessageNew chatMessageNew = (ChatMessageNew)msg.Param;
         if (chatMessageNew.Client.UserId == Singleton <HomeChatview> .Instance.UserID)
         {
             this.DisplayData(chatMessageNew, true);
         }
         else
         {
             this.DisplayData(chatMessageNew, false);
         }
         HomeChatCtrl.GetInstance().sendState = SendState.Nothing;
     }
 }
Beispiel #10
0
        private void DisplayData(ChatMessageNew chatMessage, bool isSelf)
        {
            string        str = chatMessage.Message;
            AgentBaseInfo abi = chatMessage.Client;

            GridHelper.AddToGrid <ChatItem>(this.mChatGrid, (!isSelf) ? this.normalChatItem : this.selfChatItem, isSelf, delegate(int idx, ChatItem comp)
            {
                comp.Init(abi, str, idx, isSelf, (ChatType)chatMessage.ChatType);
                comp.name = idx.ToString();
                this.queueChat.Enqueue(comp);
            });
            if (this.queueChat.Count > 99)
            {
                ChatItem chatItem = this.queueChat.Dequeue();
                UnityEngine.Object.Destroy(chatItem.gameObject);
            }
        }
 private void OnMsg_Chat_PullHistory(MobaMessage msg)
 {
     if (msg != null)
     {
         OperationResponse operationResponse = msg.Param as OperationResponse;
         if (operationResponse != null)
         {
             byte[]        buffer = (byte[])operationResponse.Parameters[174];
             List <byte[]> list   = SerializeHelper.Deserialize <List <byte[]> >(buffer);
             for (int i = 0; i < list.Count; i++)
             {
                 ChatMessageNew chatMessageNew = SerializeHelper.Deserialize <ChatMessageNew>(list[i]);
                 this.DisplayData(chatMessageNew, false);
                 this.SaveInModel(chatMessageNew.Client.UserId.ToString(), chatMessageNew);
             }
         }
     }
 }
 private void OnMsg_ReceiveFriendChatMessage(MobaMessage msg)
 {
     if (msg != null)
     {
         MobaMessageManagerTools.SendClientMsg(ClientV2C.chatviewCloseEmotion, null, false);
         ChatMessageNew chatMessageNew = (ChatMessageNew)msg.Param;
         if (chatMessageNew.Client.UserId == Singleton <HomeChatview> .Instance.UserID)
         {
             this.InputStr.value      = string.Empty;
             this.InputStr.isSelected = false;
             this.DisplayData(chatMessageNew, true);
         }
         else if (chatMessageNew.Client.UserId.ToString() == this.selectFriendItem)
         {
             this.DisplayData(chatMessageNew, false);
         }
         this.SaveInModel(this.selectFriendItem, chatMessageNew);
     }
 }
Beispiel #13
0
        private void SendChat()
        {
            string        nickName       = ModelManager.Instance.Get_userData_X().NickName;
            long          userId         = long.Parse(ModelManager.Instance.Get_userData_X().UserId);
            int           userLevel      = CharacterDataMgr.instance.GetUserLevel(ModelManager.Instance.Get_userData_X().Exp);
            int           ladder         = ToolsFacade.Instance.ToInt32(ModelManager.Instance.Get_userData_X().LadderScore);
            int           botLevel       = ModelManager.Instance.Get_BottleData_Level();
            int           head           = ModelManager.Instance.Get_userData_filed_X("Avatar");
            int           headFrame      = ModelManager.Instance.Get_userData_filed_X("PictureFrame");
            int           charmRankvalue = ModelManager.Instance.Get_userData_filed_X("CharmRankValue");
            AgentBaseInfo client         = new AgentBaseInfo
            {
                NickName       = nickName,
                UserId         = userId,
                head           = head,
                headFrame      = headFrame,
                Level          = userLevel,
                Ladder         = ladder,
                BotLevel       = botLevel,
                CharmRankvalue = charmRankvalue
            };
            string value = this.mChatInput.value;

            if (!ToolsFacade.Instance.IsLegalString(ref value))
            {
                return;
            }
            ChatMessageNew data = new ChatMessageNew
            {
                Client   = client,
                ChatType = 2,
                Message  = value,
                TargetId = null,
                TimeTick = ToolsFacade.ServerCurrentTime.Ticks
            };
            Dictionary <byte, object> dictionary = new Dictionary <byte, object>();

            dictionary.Add(100, SerializeHelper.Serialize <ChatMessageNew>(data));
            MobaMessageManagerTools.SendClientMsg(ClientV2C.chatviewSendChatToServer, dictionary, false);
            this.mChatInput.value = null;
        }
Beispiel #14
0
 private void OnChatUpdated(SyncList <ChatMessageNew> .Operation op, int itemIndex, ChatMessageNew item)
 {
     chatline.text += "[" + item.sender + "] - " + item.messsage + "\n";
 }
Beispiel #15
0
        private void SendChat(GameObject obj)
        {
            if (HomeChatCtrl.GetInstance().sendState == SendState.Sending)
            {
                return;
            }
            if (this.task_countDown != null && this.task_countDown.Running)
            {
                Singleton <TipView> .Instance.ShowViewSetText("休息一下 稍后再发", 1f);

                return;
            }
            HomeChatCtrl.GetInstance().sendState = SendState.Sending;
            this.GetSetEmojiPanelState(false);
            string nickName       = ModelManager.Instance.Get_userData_X().NickName;
            long   userId         = long.Parse(ModelManager.Instance.Get_userData_X().UserId);
            int    userLevel      = CharacterDataMgr.instance.GetUserLevel(ModelManager.Instance.Get_userData_X().Exp);
            int    ladder         = ToolsFacade.Instance.ToInt32(ModelManager.Instance.Get_userData_X().LadderScore);
            int    botLevel       = ModelManager.Instance.Get_BottleData_Level();
            int    head           = ModelManager.Instance.Get_userData_filed_X("Avatar");
            int    headFrame      = ModelManager.Instance.Get_userData_filed_X("PictureFrame");
            int    charmRankvalue = ModelManager.Instance.Get_userData_filed_X("CharmRankValue");
            string value          = this.content.value;
            bool   flag           = false;

            if (!string.IsNullOrEmpty(value) && value.Length > 1 && value[0] == '/')
            {
                flag = true;
            }
            AgentBaseInfo client = new AgentBaseInfo
            {
                NickName       = nickName,
                UserId         = userId,
                head           = head,
                headFrame      = headFrame,
                Level          = userLevel,
                Ladder         = ladder,
                BotLevel       = botLevel,
                CharmRankvalue = charmRankvalue
            };

            if (!flag)
            {
                if (!ToolsFacade.Instance.IsLegalString(ref value))
                {
                    UnityEngine.Debug.LogError("return");
                    return;
                }
            }
            ChatMessageNew data = new ChatMessageNew
            {
                Client   = client,
                ChatType = 3,
                Message  = value,
                TargetId = null,
                TimeTick = ToolsFacade.ServerCurrentTime.Ticks
            };
            Dictionary <byte, object> dictionary = new Dictionary <byte, object>();

            dictionary.Add(100, SerializeHelper.Serialize <ChatMessageNew>(data));
            dictionary.Add(5, Model_HomeChat.LastMsgId);
            MobaMessageManagerTools.SendClientMsg(ClientV2C.chatviewSendChatToServer, dictionary, false);
        }
Beispiel #16
0
 void CmdSendMessageToServer(ChatMessageNew message)
 {
     OnServerPostChatMessage(message);
 }
Beispiel #17
0
 void OnServerPostChatMessage(ChatMessageNew message)
 {
     chatMessages.Add(message);
 }
 private void SaveInModel(string sender, ChatMessageNew chatMessage)
 {
     List <ChatMessageNew> list = ModelManager.Instance.SaveIn_Friend_Chat_MessageListX(sender, chatMessage);
 }
        public void ConfirmSendMessage(GameObject obj)
        {
            if (null != obj)
            {
                if (HomeChatCtrl.GetInstance().sendState == SendState.Sending)
                {
                    return;
                }
                UserData userData = ModelManager.Instance.Get_userData_X();
                if (userData.Speaker <= 0)
                {
                    CtrlManager.OpenWindow(WindowID.PurchasePopupView, null);
                    Singleton <PurchasePopupView> .Instance.onSuccess.Add(new Callback(this.AfterBuying));

                    Singleton <PurchasePopupView> .Instance.Show(GoodsSubject.Currency, "11", 1, false);

                    return;
                }
                if (this.content.value.Length > 28)
                {
                    Singleton <TipView> .Instance.ShowViewSetText("最多发送28个字!!!", 1f);

                    return;
                }
                HomeChatCtrl.GetInstance().sendState = SendState.Sending;
                this.GetSetEmojiPanelState(false);
                string        nickName       = ModelManager.Instance.Get_userData_X().NickName;
                long          userId         = long.Parse(ModelManager.Instance.Get_userData_X().UserId);
                int           userLevel      = CharacterDataMgr.instance.GetUserLevel(ModelManager.Instance.Get_userData_X().Exp);
                int           ladder         = ToolsFacade.Instance.ToInt32(ModelManager.Instance.Get_userData_X().LadderScore);
                int           botLevel       = ModelManager.Instance.Get_BottleData_Level();
                int           head           = ModelManager.Instance.Get_userData_filed_X("Avatar");
                int           headFrame      = ModelManager.Instance.Get_userData_filed_X("PictureFrame");
                int           charmRankvalue = ModelManager.Instance.Get_userData_filed_X("CharmRankValue");
                string        value          = this.content.value;
                AgentBaseInfo client         = new AgentBaseInfo
                {
                    NickName       = nickName,
                    UserId         = userId,
                    head           = head,
                    headFrame      = headFrame,
                    Level          = userLevel,
                    Ladder         = ladder,
                    BotLevel       = botLevel,
                    CharmRankvalue = charmRankvalue
                };
                if (!ToolsFacade.Instance.IsLegalString(ref value))
                {
                    Debug.LogError("return");
                    HomeChatCtrl.GetInstance().sendState = SendState.Nothing;
                    return;
                }
                ChatMessageNew data = new ChatMessageNew
                {
                    Client   = client,
                    ChatType = 8,
                    Message  = value,
                    TargetId = null,
                    TimeTick = ToolsFacade.ServerCurrentTime.Ticks
                };
                Dictionary <byte, object> dictionary = new Dictionary <byte, object>();
                dictionary.Add(100, SerializeHelper.Serialize <ChatMessageNew>(data));
                SendMsgManager.SendMsgParam sendMsgParam = new SendMsgManager.SendMsgParam(true, "正在发送...", false, 15f);
                NetWorkHelper.Instance.client.SendSessionChannelMessage(2, MobaChannel.Chat, dictionary);
                this.content.defaultText = "点此输入文字";
            }
        }
Beispiel #20
0
        public static List <ChatMessageNew> SaveIn_Friend_Chat_MessageListX(this ModelManager mmng, string senderID, ChatMessageNew chatMessage)
        {
            Dictionary <string, List <ChatMessageNew> > dictionary  = mmng.Get_Friend_Chat_DataX();
            Dictionary <string, List <string> >         dictionary2 = new Dictionary <string, List <string> >();

            if (dictionary.Keys.Contains(senderID))
            {
                dictionary[senderID].Add(chatMessage);
            }
            else
            {
                dictionary.Add(senderID, new List <ChatMessageNew>
                {
                    chatMessage
                });
            }
            return(null);
        }