//点击发送消息按钮 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); } }
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); }
//接收聊天信息 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); }
//消息消息输入 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); }