1
This commit is contained in:
parent
c759742f5f
commit
c338a4e24a
@ -2026,9 +2026,10 @@ void Human::NotifyObservers(cs::SMUpdate* msg, cs::MFActivePlayerData* active_pl
|
|||||||
}
|
}
|
||||||
if (a8::XGetTickCount() - itr->second > 1000 * 10) {
|
if (a8::XGetTickCount() - itr->second > 1000 * 10) {
|
||||||
itr->second = a8::XGetTickCount();
|
itr->second = a8::XGetTickCount();
|
||||||
a8::XPrintf("LastSendUpdate account_id:%s socket_handle:%d\n",
|
a8::XPrintf("LastSendUpdate account_id:%s room_uuid:%s socket_handle:%d\n",
|
||||||
{
|
{
|
||||||
observer->AsPlayer()->account_id,
|
observer->AsPlayer()->account_id,
|
||||||
|
room->GetRoomUuid(),
|
||||||
observer->socket_handle
|
observer->socket_handle
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -2267,6 +2268,7 @@ void Human::ReJoin(long ip_saddr, int socket_handle)
|
|||||||
if (!IsPlayer()) {
|
if (!IsPlayer()) {
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
auto old_socket_handle = this->socket_handle;
|
||||||
this->ip_saddr = ip_saddr;
|
this->ip_saddr = ip_saddr;
|
||||||
this->socket_handle = socket_handle;
|
this->socket_handle = socket_handle;
|
||||||
room->frame_event.AddEnterGame(GetWeakPtrRef());
|
room->frame_event.AddEnterGame(GetWeakPtrRef());
|
||||||
@ -2278,6 +2280,15 @@ void Human::ReJoin(long ip_saddr, int socket_handle)
|
|||||||
RefreshView();
|
RefreshView();
|
||||||
room->NotifyUiUpdate();
|
room->NotifyUiUpdate();
|
||||||
PlayerMgr::Instance()->ReBindSocket(AsPlayer());
|
PlayerMgr::Instance()->ReBindSocket(AsPlayer());
|
||||||
|
#ifdef MYDEBUG
|
||||||
|
a8::XPrintf("ReJoin account_id:%s old_socket_handle:%d new_socket_handle:%d socket_handle:%d\n",
|
||||||
|
{
|
||||||
|
account_id,
|
||||||
|
old_socket_handle,
|
||||||
|
this->socket_handle,
|
||||||
|
socket_handle
|
||||||
|
});
|
||||||
|
#endif
|
||||||
if (room->IsMobaModeRoom()) {
|
if (room->IsMobaModeRoom()) {
|
||||||
room->xtimer.SetIntervalEx
|
room->xtimer.SetIntervalEx
|
||||||
(SERVER_FRAME_RATE,
|
(SERVER_FRAME_RATE,
|
||||||
@ -2418,6 +2429,13 @@ Player* PlayerMgr::CreatePlayerByCustomMember(Player* hum,
|
|||||||
int socket,
|
int socket,
|
||||||
std::shared_ptr<CustomMember> member)
|
std::shared_ptr<CustomMember> member)
|
||||||
{
|
{
|
||||||
|
#ifdef MYDEBUG
|
||||||
|
a8::XPrintf("CreatePlayerByCustomMember account_id:%s socket_handle:%d\n",
|
||||||
|
{
|
||||||
|
hum->account_id,
|
||||||
|
socket,
|
||||||
|
});
|
||||||
|
#endif
|
||||||
hum->socket_handle = socket;
|
hum->socket_handle = socket;
|
||||||
hum->ip_saddr = ip_saddr;
|
hum->ip_saddr = ip_saddr;
|
||||||
hum->account_id = member->GetAccountId();
|
hum->account_id = member->GetAccountId();
|
||||||
|
@ -53,7 +53,7 @@ void PlayerMgr::OnClientDisconnect(int socket_handle)
|
|||||||
RemovePlayerBySocket(socket_handle);
|
RemovePlayerBySocket(socket_handle);
|
||||||
hum->room->OnPlayerOffline(hum);
|
hum->room->OnPlayerOffline(hum);
|
||||||
#if MYDEBUG
|
#if MYDEBUG
|
||||||
a8::XPrintf("remove socket1 %d\n", {socket_handle});
|
a8::XPrintf("remove socket1 account_id%s %d\n", {hum->account_id, socket_handle});
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -118,5 +118,12 @@ void PlayerMgr::DecAccountNum(const std::string& account_id)
|
|||||||
|
|
||||||
void PlayerMgr::ReBindSocket(Player* hum)
|
void PlayerMgr::ReBindSocket(Player* hum)
|
||||||
{
|
{
|
||||||
|
#ifdef MYDEBUG
|
||||||
|
a8::XPrintf("ReBindSocket account_id:%s socket_handle:%d\n",
|
||||||
|
{
|
||||||
|
hum->account_id,
|
||||||
|
hum->socket_handle
|
||||||
|
});
|
||||||
|
#endif
|
||||||
socket_hash_[hum->socket_handle] = hum;
|
socket_hash_[hum->socket_handle] = hum;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user