protected override bool HasReceive(ChatMessage message) { var m = message; if (m == null) return false; if (m.Version <= _user.ChatVesion) return false; if (m.SendDate.AddMinutes(MsgTimeOut) <= DateTime.Now) return false; _user.ChatVesion = m.Version; Console.WriteLine("user:{0} set chat ver:{1}", _user.UserName, _user.ChatVesion); return true; }
/// <summary> /// Writes the log. /// </summary> /// <param name="message">Message.</param> protected abstract void WriteLog(ChatMessage message);
/// <summary> /// Determines whether this instance has receive the specified message. /// </summary> /// <returns><c>true</c> if this instance has receive the specified message; otherwise, <c>false</c>.</returns> /// <param name="message">Message.</param> protected abstract bool HasReceive(ChatMessage message);
/// <summary> /// Sends the whisper. /// </summary> /// <param name="toUserId">To user identifier.</param> /// <param name="message">Message.</param> public void SendWhisper(int toUserId, ChatMessage message) { //系统发私聊出现两条的问题 if (_userId != toUserId) { _whisperCacheSet.Add(_userId, message); } _whisperCacheSet.Add(toUserId, message); WriteLog(message); }
/// <summary> /// Send the specified message. /// </summary> /// <param name="message">Message.</param> public void Send(ChatMessage message) { _chatCacheSet.Add(message); WriteLog(message); }
/// <summary> /// Sends the whisper. /// </summary> /// <param name="toUserId">To user identifier.</param> /// <param name="message">Message.</param> public void SendWhisper(int toUserId, ChatMessage message) { message.ExpiredTime = message.SendDate; //系统发私聊出现两条的问题 if (_userId != toUserId) { _whisperCacheSet.Add(_userId, message); } _whisperCacheSet.Add(toUserId, message); WriteLog(message); }
/// <summary> /// Send the specified message. /// </summary> /// <param name="message">Message.</param> public void Send(ChatMessage message) { message.ExpiredTime = message.SendDate; _chatCacheSet.Add(message); WriteLog(message); }
protected override void WriteLog(ChatMessage message) { var chatData = message as ChatData; if (chatData == null) return; var chatLog = new ChatLog { FromUserID = chatData.FromUserID, FromUserName = chatData.FromUserName, ToUserID = chatData.ToUserID, ChatType = chatData.ChatType, Content = chatData.Content, SendDate = chatData.SendDate }; using (var sender = DataSyncManager.GetDataSender()) { sender.Send(chatLog); } }
protected override bool HasReceive(ChatMessage message) { var m = message as ChatData; return m != null && m.Version > _user.Property.ChatVesion; //&& m.SendDate.AddMinutes(MsgTimeOut) > DateTime.Now; }
protected override void WriteLog(ChatMessage message) { var chatData = message as ChatData; if (chatData == null) return; string guildID = string.Empty; if (chatData.ChatType == ChatType.Guild) { GameUser user = new GameDataCacheSet<GameUser>().FindKey(chatData.FromUserID.ToString()); if (user == null) { user = new GameDataCacheSet<GameUser>().FindKey(chatData.ToUserID.ToString()); } if (user != null) { guildID = user.MercenariesID; } } var chatLog = new UserChatLog { ChatID = Guid.NewGuid().ToString(), FromUserID = chatData.FromUserID.ToString(), FromUserName = chatData.FromUserName, ToUserID = chatData.ToUserID.ToString(), ToUserName = chatData.ToUserName, ChatType = chatData.ChatType, Content = chatData.Content, SendDate = chatData.SendDate, GuildID = guildID, }; using (var sender = DataSyncManager.GetDataSender()) { sender.Send(chatLog); } }
protected override bool HasReceive(ChatMessage message) { var m = message as ChatData; return m != null && m.Version > _user.ChatVesion && m.SendDate.AddMinutes(MsgTimeOut) > DateTime.Now && (string.IsNullOrEmpty(m.GuildID) || m.GuildID.Equals(_user.MercenariesID)); }
protected override void WriteLog(ChatMessage message) { }