1
This commit is contained in:
parent
4c9b572079
commit
1bcc82aef3
@ -103,6 +103,16 @@ void GuildMgr::_SS_IM_ForwardGuildSMMsg(f8::MsgHdr& hdr, const ss::SS_IM_Forward
|
||||
}
|
||||
}
|
||||
|
||||
void GuildMgr::_SS_IM_RefeshGuildMemberInfo(f8::MsgHdr& hdr, const ss::SS_IM_RefeshGuildMemberInfo& msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void GuildMgr::_SS_IM_PushGuildUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushGuildUserOnlineState& msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void GuildMgr::CreateAsyncTask(int socket_handle, long long guild_id, AsyncGuildTask* task)
|
||||
{
|
||||
Guild* guild = GetGuild(guild_id);
|
||||
|
@ -5,6 +5,8 @@ namespace ss
|
||||
class MFIMMsgConext;
|
||||
class SS_IM_ForwardGuildCMMsg;
|
||||
class SS_IM_ForwardGuildSMMsg;
|
||||
class SS_IM_RefeshGuildMemberInfo;
|
||||
class SS_IM_PushGuildUserOnlineState;
|
||||
}
|
||||
|
||||
class Guild;
|
||||
@ -35,6 +37,8 @@ class GuildMgr : public a8::Singleton<GuildMgr>
|
||||
const ::google::protobuf::Message& smmsg);
|
||||
void _SS_IM_ForwardGuildCMMsg(f8::MsgHdr& hdr, const ss::SS_IM_ForwardGuildCMMsg& msg);
|
||||
void _SS_IM_ForwardGuildSMMsg(f8::MsgHdr& hdr, const ss::SS_IM_ForwardGuildSMMsg& msg);
|
||||
void _SS_IM_RefeshGuildMemberInfo(f8::MsgHdr& hdr, const ss::SS_IM_RefeshGuildMemberInfo& msg);
|
||||
void _SS_IM_PushGuildUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushGuildUserOnlineState& msg);
|
||||
|
||||
private:
|
||||
void CreateAsyncTask(int socket_handle, long long guild_id, AsyncGuildTask* task);
|
||||
|
@ -67,8 +67,11 @@ void HandlerMgr::RegisterNetMsgHandlers()
|
||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_RandomUsersRequest);
|
||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberQuitRequest);
|
||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberUpdateRequest);
|
||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_GS_QueryGuildUserOnlineState);
|
||||
|
||||
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_ForwardGuildCMMsg);
|
||||
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_RefeshGuildMemberInfo);
|
||||
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_PushGuildUserOnlineState);
|
||||
|
||||
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
||||
|
||||
|
@ -1159,6 +1159,15 @@ void Player::ForwardGuildCMMsg(f8::MsgHdr& hdr, long long guild_id)
|
||||
msg);
|
||||
}
|
||||
|
||||
void Player::SendGSMsg(int msgid, ::google::protobuf::Message& msg)
|
||||
{
|
||||
if (GuildId() != 0) {
|
||||
SyncHelper::Instance()->SendIMConnMsg(JsonDataMgr::Instance()->GetIMInstanceId(GuildId()),
|
||||
msgid,
|
||||
msg);
|
||||
}
|
||||
}
|
||||
|
||||
void Player::FillMFUserInfo(cs::MFUserInfo* user_info)
|
||||
{
|
||||
TypeConvert::Convert(myself.base_data, *(user_info->mutable_base_data()));
|
||||
@ -1322,6 +1331,7 @@ void Player::NotifyOnline()
|
||||
}
|
||||
SendSSMsg(myself, msg);
|
||||
}
|
||||
SyncGuildMemberInfo();
|
||||
}
|
||||
|
||||
void Player::NotifyOffline()
|
||||
@ -1329,6 +1339,7 @@ void Player::NotifyOffline()
|
||||
ss::SS_IM_OnUserOffline msg;
|
||||
msg.add_account_ids(AccountId());
|
||||
SendSSMsg(myself, msg);
|
||||
SyncGuildMemberInfo();
|
||||
}
|
||||
|
||||
void Player::OnDataVersion1Change()
|
||||
@ -1966,3 +1977,10 @@ void Player::InternalRemoveFriend(const std::string& account_id, bool need_sync,
|
||||
MarkDirty();
|
||||
}
|
||||
}
|
||||
|
||||
void Player::SyncGuildMemberInfo()
|
||||
{
|
||||
ss::SS_IM_RefeshGuildMemberInfo msg;
|
||||
FillIMMsgConext(msg.mutable_context());
|
||||
SendGSMsg(msg);
|
||||
}
|
||||
|
@ -69,6 +69,13 @@ class Player
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void SendGSMsg(T& msg)
|
||||
{
|
||||
static int msgid = f8::Net_GetMessageId(msg);
|
||||
SendGSMsg(msgid, msg);
|
||||
}
|
||||
|
||||
void _CMPing(f8::MsgHdr& hdr, const cs::CMPing& msg);
|
||||
void _CMUpdateUserInfo(f8::MsgHdr& hdr, const cs::CMUpdateUserInfo& msg);
|
||||
void _CMUpdateTempCustomData(f8::MsgHdr& hdr, const cs::CMUpdateTempCustomData& msg);
|
||||
@ -142,6 +149,7 @@ private:
|
||||
void FillBlackList(::google::protobuf::RepeatedPtrField< ::cs::MFUserInfo >* black_list);
|
||||
void ForwardGroupCMMsg(f8::MsgHdr& hdr, long long hash_code);
|
||||
void ForwardGuildCMMsg(f8::MsgHdr& hdr, long long guild_id);
|
||||
void SendGSMsg(int msgid, ::google::protobuf::Message& msg);
|
||||
void FillApplyList(const cs::MFPaging& paging, cs::SMFriendApplyList& respmsg);
|
||||
void MarkDirty();
|
||||
void OnDataVersion1Change();
|
||||
@ -174,6 +182,7 @@ private:
|
||||
void QueryUserFromDB();
|
||||
void ShowErrorMsg(const std::string& msg);
|
||||
void InternalRemoveFriend(const std::string& account_id, bool need_sync, bool auto_delete);
|
||||
void SyncGuildMemberInfo();
|
||||
|
||||
private:
|
||||
bool dirty_ = false;
|
||||
|
@ -247,6 +247,11 @@ void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUse
|
||||
}
|
||||
}
|
||||
|
||||
void PlayerMgr::_SS_GS_QueryGuildUserOnlineState(f8::MsgHdr& hdr, const ss::SS_GS_QueryGuildUserOnlineState& msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void PlayerMgr::_CMLoginOld(f8::MsgHdr& hdr, const cs::CMLoginOld& msg)
|
||||
{
|
||||
cs::CMLogin new_msg;
|
||||
@ -625,6 +630,7 @@ void PlayerMgr::OnClientSocketDisconnect(int socket_handle)
|
||||
Player* hum = GetPlayerBySocket(socket_handle);
|
||||
if (hum) {
|
||||
GameLog::Instance()->Logout(hum);
|
||||
hum->myself.base_data.online = false;
|
||||
hum->NotifyOffline();
|
||||
hum->UnInit();
|
||||
socket_hash_.erase(socket_handle);
|
||||
|
@ -26,6 +26,7 @@ namespace ss
|
||||
class SS_IM_GuildMemberQuitResponse;
|
||||
class SS_IM_GuildMemberUpdateRequest;
|
||||
class SS_IM_GuildMemberUpdateResponse;
|
||||
class SS_GS_QueryGuildUserOnlineState;
|
||||
}
|
||||
|
||||
class Player;
|
||||
@ -60,6 +61,8 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
|
||||
|
||||
void _SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg);
|
||||
|
||||
void _SS_GS_QueryGuildUserOnlineState(f8::MsgHdr& hdr, const ss::SS_GS_QueryGuildUserOnlineState& msg);
|
||||
|
||||
void _CMLoginOld(f8::MsgHdr& hdr, const cs::CMLoginOld& msg);
|
||||
void _CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg);
|
||||
|
||||
|
@ -47,4 +47,7 @@ enum SSMessageId_e
|
||||
_SS_IM_GuildMemberQuitResponse = 1032;
|
||||
_SS_IM_GuildMemberUpdateRequest = 1033;
|
||||
_SS_IM_GuildMemberUpdateResponse = 1034;
|
||||
_SS_IM_RefeshGuildMemberInfo = 1035;
|
||||
_SS_GS_QueryGuildUserOnlineState = 1036;
|
||||
_SS_IM_PushGuildUserOnlineState = 1037;
|
||||
}
|
||||
|
@ -368,5 +368,5 @@ message SS_GS_QueryGuildUserOnlineState
|
||||
message SS_IM_PushGuildUserOnlineState
|
||||
{
|
||||
optional MFIMMsgConext context = 1;
|
||||
repeated cs.MFUserInfo user_infos = 2;
|
||||
repeated string online_users = 2;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user