1
This commit is contained in:
parent
07c1b2a46d
commit
fc798a01a3
@ -533,78 +533,7 @@ void RoomMgr::_CMJoinCustomBattle(f8::MsgHdr* hdr, const cs::CMJoin& msg, int cu
|
|||||||
RoomMgr::Instance()->JoinErrorHandle(msg, 3, socket_handle);
|
RoomMgr::Instance()->JoinErrorHandle(msg, 3, socket_handle);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#if 1
|
|
||||||
p->OnEnter(join_msg, ip_saddr, socket_handle, sd_handler);
|
p->OnEnter(join_msg, ip_saddr, socket_handle, sd_handler);
|
||||||
#else
|
|
||||||
if (p->GetRoom()) {
|
|
||||||
if (p->GetRoom()->GetGasData().GetGasMode() != GasInactive) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
auto hum = p->GetRoom()->GetPlayerByAccountId(join_msg->account_id());
|
|
||||||
if (hum) {
|
|
||||||
hum->ReJoin(ip_saddr, socket_handle);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
int game_times = 0;
|
|
||||||
RoomType_e self_room_type = p->GetRoomType();
|
|
||||||
time_t register_time = f8::ExtractRegisterTimeFromSessionId(msg.session_id());
|
|
||||||
int proto_version = msg.proto_version();
|
|
||||||
int channel = f8::ExtractChannelIdFromAccountId(msg.account_id());
|
|
||||||
std::shared_ptr<Room> room = nullptr;
|
|
||||||
if (p->IsNormalMode()) {
|
|
||||||
room = RoomMgr::Instance()->GetJoinableRoom(p);
|
|
||||||
if (!room) {
|
|
||||||
if (p->IsPvp()) {
|
|
||||||
room = RoomMgr::Instance()->CreateRoom
|
|
||||||
(self_room_type,
|
|
||||||
game_times,
|
|
||||||
register_time,
|
|
||||||
join_msg->proto_version(),
|
|
||||||
channel,
|
|
||||||
p->GetMapId(),
|
|
||||||
p->GetRoomMode(),
|
|
||||||
nullptr);
|
|
||||||
} else {
|
|
||||||
room = RoomMgr::Instance()->CreateRoom
|
|
||||||
(self_room_type,
|
|
||||||
game_times,
|
|
||||||
register_time,
|
|
||||||
join_msg->proto_version(),
|
|
||||||
channel,
|
|
||||||
p->GetMapId(),
|
|
||||||
p->GetRoomMode(),
|
|
||||||
nullptr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p->SetRoom(room.get());
|
|
||||||
room->JoinWithCustomBattle(ip_saddr, socket_handle, join_msg, p);
|
|
||||||
} else {
|
|
||||||
if (p->IsPvp()) {
|
|
||||||
room = RoomMgr::Instance()->CreateRoom
|
|
||||||
(self_room_type,
|
|
||||||
game_times,
|
|
||||||
register_time,
|
|
||||||
join_msg->proto_version(),
|
|
||||||
channel,
|
|
||||||
p->GetMapId(),
|
|
||||||
p->GetRoomMode(),
|
|
||||||
p);
|
|
||||||
} else {
|
|
||||||
room = RoomMgr::Instance()->CreateRoom
|
|
||||||
(self_room_type,
|
|
||||||
game_times,
|
|
||||||
register_time,
|
|
||||||
join_msg->proto_version(),
|
|
||||||
channel,
|
|
||||||
p->GetMapId(),
|
|
||||||
p->GetRoomMode(),
|
|
||||||
nullptr);
|
|
||||||
}
|
|
||||||
p->SetRoom(room.get());
|
|
||||||
room->InitWithCustomBattle(ip_saddr, socket_handle, join_msg, p);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
SendGetCustomBattleData(join_msg, cb, custom_room_type);
|
SendGetCustomBattleData(join_msg, cb, custom_room_type);
|
||||||
}
|
}
|
||||||
@ -669,6 +598,7 @@ void RoomMgr::SendGetCustomBattleData(std::shared_ptr<cs::CMJoin> join_msg,
|
|||||||
auto url_params = a8::MutableXObject::CreateObject();
|
auto url_params = a8::MutableXObject::CreateObject();
|
||||||
url_params->SetVal("account_id", join_msg->account_id());
|
url_params->SetVal("account_id", join_msg->account_id());
|
||||||
url_params->SetVal("session_id", join_msg->session_id());
|
url_params->SetVal("session_id", join_msg->session_id());
|
||||||
|
url_params->SetVal("version", 1);
|
||||||
url_params->SetVal("__POST", join_msg->payload_data());
|
url_params->SetVal("__POST", join_msg->payload_data());
|
||||||
HttpProxy::Instance()->HttpGet
|
HttpProxy::Instance()->HttpGet
|
||||||
(
|
(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user