1
This commit is contained in:
parent
1afd961b73
commit
c7281f28a8
@ -54,6 +54,10 @@ void HandlerMgr::RegisterNetMsgHandlers()
|
|||||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_FriendAgreeRequest);
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_FriendAgreeRequest);
|
||||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_FriendDeleteRequest);
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_FriendDeleteRequest);
|
||||||
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_FriendApply);
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_FriendApply);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_OnUserOnline);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_OnUserOffline);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_QueryUserOnlineState);
|
||||||
|
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_PushUserOnlineState);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);
|
||||||
|
|
||||||
|
@ -687,12 +687,25 @@ void Player::FillApplyList(const cs::MFPaging& paging, cs::SMFriendApplyList& re
|
|||||||
|
|
||||||
void Player::NotifyOnline()
|
void Player::NotifyOnline()
|
||||||
{
|
{
|
||||||
|
{
|
||||||
|
ss::SS_IM_OnUserOnline msg;
|
||||||
|
msg.add_account_ids(AccountId());
|
||||||
|
SendSSMsg(myself, msg);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
ss::SS_IM_QueryUserOnlineState msg;
|
||||||
|
for (auto& pair : friend_hash_) {
|
||||||
|
msg.add_account_ids(pair.second->base_data.account_id);
|
||||||
|
}
|
||||||
|
SendSSMsg(myself, msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::NotifyOffline()
|
void Player::NotifyOffline()
|
||||||
{
|
{
|
||||||
|
ss::SS_IM_OnUserOffline msg;
|
||||||
|
msg.add_account_ids(AccountId());
|
||||||
|
SendSSMsg(myself, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::OnDataVersion1Change()
|
void Player::OnDataVersion1Change()
|
||||||
|
@ -81,6 +81,26 @@ void PlayerMgr::_SS_IM_FriendApply(f8::MsgHdr& hdr, const ss::SS_IM_FriendApply&
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PlayerMgr::_SS_IM_OnUserOnline(f8::MsgHdr& hdr, const ss::SS_IM_OnUserOnline& msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlayerMgr::_SS_IM_OnUserOffline(f8::MsgHdr& hdr, const ss::SS_IM_OnUserOffline& msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlayerMgr::_SS_IM_QueryUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_QueryUserOnlineState& msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlayerMgr::_SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg)
|
void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg)
|
||||||
{
|
{
|
||||||
auto itr = watch_players_.find(msg.user_info().base_data().account_id());
|
auto itr = watch_players_.find(msg.user_info().base_data().account_id());
|
||||||
@ -390,12 +410,12 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id,
|
|||||||
hum->myself.base_data.online = true;
|
hum->myself.base_data.online = true;
|
||||||
hum->myself.base_data.last_login_time = App::Instance()->nowtime;
|
hum->myself.base_data.last_login_time = App::Instance()->nowtime;
|
||||||
hum->role_data.session_id = session_id;
|
hum->role_data.session_id = session_id;
|
||||||
hum->Init();
|
|
||||||
{
|
{
|
||||||
ss::MFUserDB user_db;
|
ss::MFUserDB user_db;
|
||||||
user_db.ParseFromString(friend_data);
|
user_db.ParseFromString(friend_data);
|
||||||
hum->Deserialize(user_db);
|
hum->Deserialize(user_db);
|
||||||
}
|
}
|
||||||
|
hum->Init();
|
||||||
socket_hash_[hdr->socket_handle] = hum;
|
socket_hash_[hdr->socket_handle] = hum;
|
||||||
accountid_hash_[account_id] = hum;
|
accountid_hash_[account_id] = hum;
|
||||||
GameLog::Instance()->Login(hum);
|
GameLog::Instance()->Login(hum);
|
||||||
|
@ -15,6 +15,10 @@ namespace ss
|
|||||||
class SS_IM_FriendAgreeRequest;
|
class SS_IM_FriendAgreeRequest;
|
||||||
class SS_IM_FriendDeleteRequest;
|
class SS_IM_FriendDeleteRequest;
|
||||||
class SS_IM_FriendApply;
|
class SS_IM_FriendApply;
|
||||||
|
class SS_IM_OnUserOnline;
|
||||||
|
class SS_IM_OnUserOffline;
|
||||||
|
class SS_IM_QueryUserOnlineState;
|
||||||
|
class SS_IM_PushUserOnlineState;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Player;
|
class Player;
|
||||||
@ -38,6 +42,10 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
|
|||||||
void _SS_IM_FriendAgreeRequest(f8::MsgHdr& hdr, const ss::SS_IM_FriendAgreeRequest& msg);
|
void _SS_IM_FriendAgreeRequest(f8::MsgHdr& hdr, const ss::SS_IM_FriendAgreeRequest& msg);
|
||||||
void _SS_IM_FriendDeleteRequest(f8::MsgHdr& hdr, const ss::SS_IM_FriendDeleteRequest& msg);
|
void _SS_IM_FriendDeleteRequest(f8::MsgHdr& hdr, const ss::SS_IM_FriendDeleteRequest& msg);
|
||||||
void _SS_IM_FriendApply(f8::MsgHdr& hdr, const ss::SS_IM_FriendApply& msg);
|
void _SS_IM_FriendApply(f8::MsgHdr& hdr, const ss::SS_IM_FriendApply& msg);
|
||||||
|
void _SS_IM_OnUserOnline(f8::MsgHdr& hdr, const ss::SS_IM_OnUserOnline& msg);
|
||||||
|
void _SS_IM_OnUserOffline(f8::MsgHdr& hdr, const ss::SS_IM_OnUserOffline& msg);
|
||||||
|
void _SS_IM_QueryUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_QueryUserOnlineState& msg);
|
||||||
|
void _SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg);
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
|
@ -35,4 +35,8 @@ enum SSMessageId_e
|
|||||||
_SS_IM_FriendDeleteRequest = 1018;
|
_SS_IM_FriendDeleteRequest = 1018;
|
||||||
_SS_IM_FriendDeleteResponse = 1019;
|
_SS_IM_FriendDeleteResponse = 1019;
|
||||||
_SS_IM_FriendApply = 1020;
|
_SS_IM_FriendApply = 1020;
|
||||||
|
_SS_IM_QueryUserOnlineState = 1021;
|
||||||
|
_SS_IM_PushUserOnlineState = 1022;
|
||||||
|
_SS_IM_OnUserOnline = 1023;
|
||||||
|
_SS_IM_OnUserOffline = 1024;
|
||||||
}
|
}
|
||||||
|
@ -234,3 +234,23 @@ message SS_IM_FriendApply
|
|||||||
optional MFIMMsgConext context = 1;
|
optional MFIMMsgConext context = 1;
|
||||||
optional string target_id = 3;
|
optional string target_id = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message SS_IM_QueryUserOnlineState
|
||||||
|
{
|
||||||
|
repeated string account_ids = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SS_IM_PushUserOnlineState
|
||||||
|
{
|
||||||
|
repeated string online_account_ids = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SS_IM_OnUserOnline
|
||||||
|
{
|
||||||
|
repeated string account_ids = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SS_IM_OnUserOffline
|
||||||
|
{
|
||||||
|
repeated string account_ids = 3;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user