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)
|
void GuildMgr::CreateAsyncTask(int socket_handle, long long guild_id, AsyncGuildTask* task)
|
||||||
{
|
{
|
||||||
Guild* guild = GetGuild(guild_id);
|
Guild* guild = GetGuild(guild_id);
|
||||||
|
@ -5,6 +5,8 @@ namespace ss
|
|||||||
class MFIMMsgConext;
|
class MFIMMsgConext;
|
||||||
class SS_IM_ForwardGuildCMMsg;
|
class SS_IM_ForwardGuildCMMsg;
|
||||||
class SS_IM_ForwardGuildSMMsg;
|
class SS_IM_ForwardGuildSMMsg;
|
||||||
|
class SS_IM_RefeshGuildMemberInfo;
|
||||||
|
class SS_IM_PushGuildUserOnlineState;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Guild;
|
class Guild;
|
||||||
@ -35,6 +37,8 @@ class GuildMgr : public a8::Singleton<GuildMgr>
|
|||||||
const ::google::protobuf::Message& smmsg);
|
const ::google::protobuf::Message& smmsg);
|
||||||
void _SS_IM_ForwardGuildCMMsg(f8::MsgHdr& hdr, const ss::SS_IM_ForwardGuildCMMsg& msg);
|
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_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:
|
private:
|
||||||
void CreateAsyncTask(int socket_handle, long long guild_id, AsyncGuildTask* task);
|
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_RandomUsersRequest);
|
||||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberQuitRequest);
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberQuitRequest);
|
||||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberUpdateRequest);
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberUpdateRequest);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_GS_QueryGuildUserOnlineState);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_ForwardGuildCMMsg);
|
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_ForwardGuildCMMsg);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_RefeshGuildMemberInfo);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &GuildMgr::_SS_IM_PushGuildUserOnlineState);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
||||||
|
|
||||||
|
@ -1159,6 +1159,15 @@ void Player::ForwardGuildCMMsg(f8::MsgHdr& hdr, long long guild_id)
|
|||||||
msg);
|
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)
|
void Player::FillMFUserInfo(cs::MFUserInfo* user_info)
|
||||||
{
|
{
|
||||||
TypeConvert::Convert(myself.base_data, *(user_info->mutable_base_data()));
|
TypeConvert::Convert(myself.base_data, *(user_info->mutable_base_data()));
|
||||||
@ -1322,6 +1331,7 @@ void Player::NotifyOnline()
|
|||||||
}
|
}
|
||||||
SendSSMsg(myself, msg);
|
SendSSMsg(myself, msg);
|
||||||
}
|
}
|
||||||
|
SyncGuildMemberInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::NotifyOffline()
|
void Player::NotifyOffline()
|
||||||
@ -1329,6 +1339,7 @@ void Player::NotifyOffline()
|
|||||||
ss::SS_IM_OnUserOffline msg;
|
ss::SS_IM_OnUserOffline msg;
|
||||||
msg.add_account_ids(AccountId());
|
msg.add_account_ids(AccountId());
|
||||||
SendSSMsg(myself, msg);
|
SendSSMsg(myself, msg);
|
||||||
|
SyncGuildMemberInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::OnDataVersion1Change()
|
void Player::OnDataVersion1Change()
|
||||||
@ -1966,3 +1977,10 @@ void Player::InternalRemoveFriend(const std::string& account_id, bool need_sync,
|
|||||||
MarkDirty();
|
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 _CMPing(f8::MsgHdr& hdr, const cs::CMPing& msg);
|
||||||
void _CMUpdateUserInfo(f8::MsgHdr& hdr, const cs::CMUpdateUserInfo& msg);
|
void _CMUpdateUserInfo(f8::MsgHdr& hdr, const cs::CMUpdateUserInfo& msg);
|
||||||
void _CMUpdateTempCustomData(f8::MsgHdr& hdr, const cs::CMUpdateTempCustomData& 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 FillBlackList(::google::protobuf::RepeatedPtrField< ::cs::MFUserInfo >* black_list);
|
||||||
void ForwardGroupCMMsg(f8::MsgHdr& hdr, long long hash_code);
|
void ForwardGroupCMMsg(f8::MsgHdr& hdr, long long hash_code);
|
||||||
void ForwardGuildCMMsg(f8::MsgHdr& hdr, long long guild_id);
|
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 FillApplyList(const cs::MFPaging& paging, cs::SMFriendApplyList& respmsg);
|
||||||
void MarkDirty();
|
void MarkDirty();
|
||||||
void OnDataVersion1Change();
|
void OnDataVersion1Change();
|
||||||
@ -174,6 +182,7 @@ private:
|
|||||||
void QueryUserFromDB();
|
void QueryUserFromDB();
|
||||||
void ShowErrorMsg(const std::string& msg);
|
void ShowErrorMsg(const std::string& msg);
|
||||||
void InternalRemoveFriend(const std::string& account_id, bool need_sync, bool auto_delete);
|
void InternalRemoveFriend(const std::string& account_id, bool need_sync, bool auto_delete);
|
||||||
|
void SyncGuildMemberInfo();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool dirty_ = false;
|
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)
|
void PlayerMgr::_CMLoginOld(f8::MsgHdr& hdr, const cs::CMLoginOld& msg)
|
||||||
{
|
{
|
||||||
cs::CMLogin new_msg;
|
cs::CMLogin new_msg;
|
||||||
@ -625,6 +630,7 @@ void PlayerMgr::OnClientSocketDisconnect(int socket_handle)
|
|||||||
Player* hum = GetPlayerBySocket(socket_handle);
|
Player* hum = GetPlayerBySocket(socket_handle);
|
||||||
if (hum) {
|
if (hum) {
|
||||||
GameLog::Instance()->Logout(hum);
|
GameLog::Instance()->Logout(hum);
|
||||||
|
hum->myself.base_data.online = false;
|
||||||
hum->NotifyOffline();
|
hum->NotifyOffline();
|
||||||
hum->UnInit();
|
hum->UnInit();
|
||||||
socket_hash_.erase(socket_handle);
|
socket_hash_.erase(socket_handle);
|
||||||
|
@ -26,6 +26,7 @@ namespace ss
|
|||||||
class SS_IM_GuildMemberQuitResponse;
|
class SS_IM_GuildMemberQuitResponse;
|
||||||
class SS_IM_GuildMemberUpdateRequest;
|
class SS_IM_GuildMemberUpdateRequest;
|
||||||
class SS_IM_GuildMemberUpdateResponse;
|
class SS_IM_GuildMemberUpdateResponse;
|
||||||
|
class SS_GS_QueryGuildUserOnlineState;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Player;
|
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_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 _CMLoginOld(f8::MsgHdr& hdr, const cs::CMLoginOld& msg);
|
||||||
void _CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg);
|
void _CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg);
|
||||||
|
|
||||||
|
@ -47,4 +47,7 @@ enum SSMessageId_e
|
|||||||
_SS_IM_GuildMemberQuitResponse = 1032;
|
_SS_IM_GuildMemberQuitResponse = 1032;
|
||||||
_SS_IM_GuildMemberUpdateRequest = 1033;
|
_SS_IM_GuildMemberUpdateRequest = 1033;
|
||||||
_SS_IM_GuildMemberUpdateResponse = 1034;
|
_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
|
message SS_IM_PushGuildUserOnlineState
|
||||||
{
|
{
|
||||||
optional MFIMMsgConext context = 1;
|
optional MFIMMsgConext context = 1;
|
||||||
repeated cs.MFUserInfo user_infos = 2;
|
repeated string online_users = 2;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user