This commit is contained in:
aozhiwei 2020-09-25 16:30:49 +08:00
parent d34c651fe1
commit 70ab00072d
2 changed files with 18 additions and 11 deletions

View File

@ -58,11 +58,20 @@ void Guild::AddMember(GuildMember* member)
}
}
void Guild::RemoveMember(const std::string& account_id)
void Guild::RemoveMember(const std::string& sender_id,
const std::string& target_id,
int reason)
{
GuildMember* member = GetMember(account_id);
GuildMember* member = GetMember(target_id);
if (member) {
member_hash_.erase(account_id);
SyncHelper::Instance()->SyncGuildMemberQuit
(
this,
sender_id,
target_id,
reason
);
member_hash_.erase(target_id);
A8_SAFE_DELETE(member);
GenSortedMembers();
}
@ -226,13 +235,9 @@ void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg)
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
forward_msg->context(),
respmsg);
SyncHelper::Instance()->SyncGuildMemberQuit
(
this,
sender->account_id,
member->account_id,
kGuildKick
);
RemoveMember(sender->account_id,
member->account_id,
kGuildKick);
}
void Guild::_CMGuildQuit(f8::MsgHdr& hdr, const cs::CMGuildQuit& msg)

View File

@ -75,7 +75,9 @@ private:
bool IsFull();
GuildMember* GetMember(const std::string& account_id);
void AddMember(GuildMember* member);
void RemoveMember(const std::string& account_id);
void RemoveMember(const std::string& sender_id,
const std::string& target_id,
int reason);
void FillGuildBasic(cs::MFGuildBasic* guild_basic);
void FillGuildDB(ss::MFGuildDB& guild_pb);