This commit is contained in:
aozhiwei 2023-09-06 15:32:43 +08:00
parent aa2e222a20
commit f0536c1c1e
2 changed files with 2 additions and 46 deletions

View File

@ -52,54 +52,9 @@ void MapMgr::UnInit()
void MapMgr::AttachRoom(Room* room, RoomInitInfo& init_info)
{
if (init_info.pve_instance_id) {
init_info.room_mode = kPveMode;
room->pve_mode_meta = mt::PveGeminiMode::GetById(init_info.room_mode);
if (!room->pve_mode_meta) {
abort();
}
init_info.init_map_id = room->pve_mode_meta->map_id();
room->pve_instance = mt::PveGemini::GetById(init_info.pve_instance_id);
if (!room->pve_instance) {
#ifdef DEBUG
abort();
#else
init_info.pve_instance_id = 10001;
room->pve_instance = mt::PveGemini::GetById(init_info.pve_instance_id);
#endif
}
if (!room->pve_instance) {
abort();
}
#ifdef DEBUG
a8::XPrintf("attachRoom pve_instance_id:%d room_mode:%d\n",
{
init_info.pve_instance_id,
init_info.room_mode
});
#endif
}
#if 1
auto map_instance = GetMapInstance(init_info.init_map_id);
if (!map_instance) {
map_instance = GetMapInstance(2001);
}
#else
MapInstance* map_instance = init_info.init_map_id == 0 ?
RandMapInstance(init_info.room_mode) : GetMapInstance(init_info.init_map_id);
if (!map_instance) {
map_instance = RandMapInstance(init_info.room_mode);
} else if (map_instance->GetMapMeta()->i->map_mode() != init_info.room_mode) {
#ifdef DEBUG
#else
if (!room->pve_instance) {
map_instance = RandMapInstance(init_info.room_mode);
}
#endif
}
#endif
if (!map_instance) {
A8_ABORT();
abort();
}
map_instance->AttachRoom(room, init_info);
}

View File

@ -805,6 +805,7 @@ void RoomMgr::SetMatchMode(int mode)
void RoomMgr::AdjustCMJoin(cs::CMJoin* msg)
{
msg->set_force_enter_newbie_room(false);
msg->set_pve_instance_id(0);
if (msg->proto_version() < cs::ProtoVersion) {
msg->set_mapid(2001);
}