This commit is contained in:
aozhiwei 2024-04-20 10:30:02 +08:00
parent 3902c659ee
commit fc3dbb3a52
5 changed files with 14 additions and 14 deletions

View File

@ -57,8 +57,8 @@ void CustomBattle::ParseResult(a8::XObject& obj)
parse_ok_ = false;
return;
}
const mt::MapMode* map_mode_meta = mt::MapMode::GetById(map_mode_);
if (!map_mode_meta || !map_mode_meta->IsOpen()) {
map_mode_meta_ = mt::MapMode::GetById(map_mode_);
if (!map_mode_meta_) {
parse_ok_ = false;
return;
}
@ -272,7 +272,11 @@ RoomMode_e CustomBattle::GetRoomMode()
if (IsMoba()) {
return kMobaMode;
} else {
return kPvpMode;
if (match_mode_) {
return kPvpRankMode;
} else {
return kPvpMode;
}
}
}
@ -381,14 +385,14 @@ void CustomBattle::GameStart()
if (IsPvp()) {
room = RoomMgr::Instance()->CreateRoom
(self_room_type,
GetMapMode(),
GetMapModeMeta()->id(),
GetMapId(),
GetRoomMode(),
nullptr);
} else {
room = RoomMgr::Instance()->CreateRoom
(self_room_type,
GetMapMode(),
GetMapModeMeta()->id(),
GetMapId(),
GetRoomMode(),
nullptr);

View File

@ -26,7 +26,7 @@ class CustomBattle : public std::enable_shared_from_this<CustomBattle>
int GetZoneId() { return zone_id_; }
int GetNodeId() { return zone_id_; }
int GetMatchMode() { return match_mode_; }
int GetMapMode() { return map_mode_; }
const mt::MapMode* GetMapModeMeta() { return map_mode_meta_; }
int GetMapId() { return map_id_; }
RoomType_e GetRoomType();
RoomMode_e GetRoomMode();
@ -75,6 +75,7 @@ private:
int map_id_ = 0;
int start_time_ = 0;
int team1_average_hero_lv_ = 0;
const mt::MapMode* map_mode_meta_ = nullptr;
std::string sign_;
std::shared_ptr<a8::XObject> raw_data_;
std::vector<std::shared_ptr<CustomTeam>> team_list_;

View File

@ -5,6 +5,8 @@
namespace mt
{
const int kPvpRankMode = 501;
DECLARE_ID_TABLE(MapMode, mtb::MapMode,
"mapMode@mapMode.json",
"id")

View File

@ -3783,7 +3783,7 @@ bool Room::CanJoin(std::shared_ptr<CustomBattle> p)
if (map_meta_->map_id() != p->GetMapId()) {
return false;
}
if (GetMapModeMeta()->id() != p->GetMapMode()) {
if (GetMapModeMeta() != p->GetMapModeMeta()) {
return false;
}

View File

@ -512,13 +512,6 @@ void RoomMgr::_CMJoinCustomBattle(f8::MsgHdr* hdr, const cs::CMJoin& msg, int cu
return;
}
}
{
const mt::MapMode* map_mode_meta = mt::MapMode::GetById(p->GetMapMode());
if (!map_mode_meta || !map_mode_meta->IsOpen()) {
RoomMgr::Instance()->JoinErrorHandle(msg, 3, socket_handle);
return;
}
}
{
const mt::Map* map_meta = mt::Map::GetById(p->GetMapId());
if (!map_meta || !map_meta->IsOpen()) {