1
This commit is contained in:
parent
aa2e222a20
commit
f0536c1c1e
@ -52,54 +52,9 @@ void MapMgr::UnInit()
|
|||||||
|
|
||||||
void MapMgr::AttachRoom(Room* room, RoomInitInfo& init_info)
|
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);
|
auto map_instance = GetMapInstance(init_info.init_map_id);
|
||||||
if (!map_instance) {
|
if (!map_instance) {
|
||||||
map_instance = GetMapInstance(2001);
|
abort();
|
||||||
}
|
|
||||||
#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();
|
|
||||||
}
|
}
|
||||||
map_instance->AttachRoom(room, init_info);
|
map_instance->AttachRoom(room, init_info);
|
||||||
}
|
}
|
||||||
|
@ -805,6 +805,7 @@ void RoomMgr::SetMatchMode(int mode)
|
|||||||
void RoomMgr::AdjustCMJoin(cs::CMJoin* msg)
|
void RoomMgr::AdjustCMJoin(cs::CMJoin* msg)
|
||||||
{
|
{
|
||||||
msg->set_force_enter_newbie_room(false);
|
msg->set_force_enter_newbie_room(false);
|
||||||
|
msg->set_pve_instance_id(0);
|
||||||
if (msg->proto_version() < cs::ProtoVersion) {
|
if (msg->proto_version() < cs::ProtoVersion) {
|
||||||
msg->set_mapid(2001);
|
msg->set_mapid(2001);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user