Пример #1
0
 //点击发送消息按钮
 private void OnClickSendMsg()
 {
     if (SendMsg_Content.text != "")
     {
         ChantController.Instance.SendContent(SendMsg_Content.text);
         ChatLog c = new ChatLog();
         c.SendPlayer = 1;
         c.Content    = SendMsg_Content.text;
         c.sendTime   = System.DateTime.Now.Year + "/" + System.DateTime.Now.Month + "/" +
                        System.DateTime.Now.Day + " " + System.DateTime.Now.Hour + ":" + System.DateTime.Now.Minute;
         AddContent(c);
         SendMsg_Content.text = "";
         ChatLogManager.Instance.SaveData(ChatModel.Instance.ChatTarget.UserGameId, c);
     }
 }
Пример #2
0
        public void GetData(int id, int page)
        {
            //Debug.LogError("getdata");
            List <string>  LogList = ReadFile(id, page);
            List <ChatLog> chatLog = new List <ChatLog>();

            for (int i = 0; i < LogList.Count; i++)
            {
                //Debug.LogError(LogList[i]);
                ChatLog c = new ChatLog();
                c = JsonUtility.FromJson <ChatLog>(LogList[i]);
                chatLog.Add(c);
            }
            ChatModel.Instance.chatLog = chatLog;
            if (chatLog.Count != 0)
            {
                ChatModel.Instance.currentPage++;
            }
            ChantController.Instance.GetDispatcher().Dispatch(ChantControllerEvent.OnReciveLog);
        }
Пример #3
0
        //接收聊天信息
        private bool OnReviceContent(int eventId, object arg)
        {
            Dictionary <int, MsgUnit> msgList  = MessageModel.Instance.MsgList;
            List <MsgUnit>            _msgList = new List <MsgUnit>(msgList.Values);

            foreach (MsgUnit msg in _msgList)
            {
                if (msg.type == 2 && msg.PlayerUid == ChatModel.Instance.ChatTarget.UserGameId)
                {
                    ChatLog c = new ChatLog();
                    c.SendPlayer = 2;
                    c.Content    = msg.content;

                    System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
                    DateTime        dt        = startTime.AddSeconds(msg.SendTime);
                    //System.Debug.Log(dt.ToString("yyyy/MM/dd HH:mm:ss:ffff"));
                    c.sendTime = dt.ToString("yyyy/MM/dd HH:mm");
                    AddContent(c);
                    ChatLogManager.Instance.SaveData(ChatModel.Instance.ChatTarget.UserGameId, c);
                    MessageController.Instance.DelMsg(msg.id);
                }
            }
            return(false);
        }
Пример #4
0
        //消息消息输入
        public static Dictionary <int, MsgUnit> SetAnwData(IList <PMsg_MessageUnit> list)
        {
            Dictionary <int, MsgUnit> MsgList = MessageModel.Instance.MsgList;
            bool isChange = false;

            //Debug.LogError(list.Count);
            for (int i = 0; i < list.Count; i++)
            {
                if (MsgList.ContainsKey(list[i].MsgID))
                {
                    continue;
                }

                if (list[i].FromUid == LoginModel.Instance.Uid)
                {
                    MessageController.Instance.DelMsg(list[i].MsgID);
                    continue;
                }

                isChange = true;
                MsgUnit unit = new MsgUnit();
                unit.id       = list[i].MsgID;
                unit.type     = list[i].MsgType;
                unit.content  = list[i].Content;
                unit.SendTime = list[i].SendTime;

                System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
                DateTime        dt        = startTime.AddSeconds(list[i].SendTime);
                //System.Debug.Log(dt.ToString("yyyy/MM/dd HH:mm:ss:ffff"));
                unit.sendTime = dt.ToString("HH:mm");

                unit.PlayerUid  = list[i].FromUid;
                unit.PlayerHead = list[i].FromHead;
                unit.PlayerName = list[i].FromName;

                int _id = -1;
                foreach (var msg in MsgList.Values)
                {
                    if (msg.type == 2 && msg.PlayerUid == list[i].FromUid && msg.content != list[i].Content)
                    {
                        _id = msg.id;
                        break;
                    }
                }
                if (_id != -1)
                {
                    ChatLog c = new ChatLog();
                    c.SendPlayer = 2;
                    c.Content    = MsgList[_id].content;
                    c.sendTime   = dt.ToString("yyyy/MM/dd HH:mm");
                    ChatLogManager.Instance.SaveData(MsgList[_id].PlayerUid, c);

                    MessageController.Instance.DelMsg(MsgList[_id].id);
                    MsgList.Remove(_id);
                }
                MsgList.Add(unit.id, unit);
                //bool isHas = false;
                //if (PlayerSave.HasKey(list[i].FromUid.ToString()))
                //{
                //    string s=PlayerSave.GetString(list[i].FromUid.ToString());
                //    string[] contents= s.Split(',');
                //    for (int j = 0; j < contents.Length; j++)
                //    {
                //        //如果内容ID已经存在则跳出循环
                //       if (contents[j]== list[i].MsgID.ToString())
                //        {
                //            isHas = true;
                //            break;
                //        }
                //    }
                //    //如果没有出现过则添加进去
                //    if (!isHas)
                //    {
                //        StringBuilder sb=new StringBuilder(s);
                //        sb.Append("," + list[i].MsgID.ToString());
                //        PlayerSave.SetString(list[i].FromUid.ToString(),sb.ToString());
                //
                //        MsgList.Add(unit.id, unit);
                //    }
                //
                //}
                //else
                //{
                //    PlayerSave.SetString(list[i].FromUid.ToString(), list[i].MsgID.ToString());
                //
                //    MsgList.Add(unit.id, unit);
                //
                //}
            }

            if (isChange)
            {
                MessageController.Instance.MsgCount = MsgList.Count;
                GlobalDispatcher.Instance.Dispatch(GlobalEvent.OnMsgChange, MsgList.Count);
            }
            //Debug.LogError(MsgList.Count);
            return(MsgList);
        }