This commit is contained in:
aozhiwei 2020-12-09 13:14:58 +08:00
parent 119a146c73
commit 8423d21970
2 changed files with 10 additions and 3 deletions

View File

@ -73,17 +73,21 @@ void ChatMgr::ProcWorldChat(Player* hum, const cs::CMSendChatMsg& msg)
void ChatMgr::ProcPrivateChat(Player* hum, const cs::CMSendChatMsg& msg)
{
Player* target_hum = PlayerMgr::Instance()->GetPlayerByAccountId(msg.target());
if (!target_hum) {
return;
}
++private_msg_id_;
cs::MFChatMsg* p = new cs::MFChatMsg();
p->set_msg_uuid(private_msg_id_);
hum->FillMFUserInfo(p->mutable_sender());
p->set_chat_channel(msg.chat_channel());
p->set_msg_type(msg.msg_type());
p->set_msg_body(msg.msg_body());
p->set_send_time(time(nullptr));
ChatMgr::Instance()->SyncPrivateChatMsg(hum);
Player* target_hum = PlayerMgr::Instance()->GetPlayerByAccountId(msg.target());
if (target_hum) {
ChatMgr::Instance()->SyncPrivateChatMsg(target_hum);
}
@ -98,6 +102,7 @@ void ChatMgr::ProcGuildChat(Player* hum, const cs::CMSendChatMsg& msg)
cs::MFChatMsg* p = new cs::MFChatMsg();
p->set_msg_uuid(guild_msg_id_);
hum->FillMFUserInfo(p->mutable_sender());
p->set_chat_channel(msg.chat_channel());
p->set_msg_type(msg.msg_type());
p->set_msg_body(msg.msg_body());

View File

@ -9,17 +9,19 @@ struct ChatMsgRec
long long last_id = 0;
std::list<cs::MFChatMsg*> msg_list;
void Pop(int max_num)
void Pop(size_t max_num)
{
while (msg_list.size() > max_num) {
msg_list.erase(msg_list.begin());
}
}
void PopAndDelete(int max_num)
void PopAndDelete(size_t max_num)
{
while (msg_list.size() > max_num) {
cs::MFChatMsg* msg = *msg_list.begin();
msg_list.erase(msg_list.begin());
delete msg;
}
}