This commit is contained in:
aozhiwei 2024-03-26 10:51:49 +08:00
parent 3affeba4ea
commit 07c1b2a46d

View File

@ -2865,25 +2865,48 @@ int Room::JoinWithCustomBattle(std::shared_ptr<CustomBattle> p)
}
{
if (IsMobaModeRoom()) {
} else {
for (size_t i = 0; i < net_teams.size(); ++i) {
auto net_team = net_teams.at(i);
auto room_team = room_teams.at(i);
room_team->SetInitTeamMemberNum(net_team->GetMemberNum());
net_team->TraverseMember
(
[this, p, room_team] (std::shared_ptr<CustomMember> m) mutable -> bool
{
if (!m->IsAndroid()) {
Player* hum = InternalCreatePlayer(p, m, room_team);
} else {
Human* hum = CreateAndroidWithCustomMember(m, room_team);
}
return true;
for (size_t i = 0; i < net_teams.size(); ++i) {
auto net_team = net_teams.at(i);
auto room_team = room_teams.at(i);
room_team->SetInitTeamMemberNum(net_team->GetMemberNum());
net_team->TraverseMember
(
[this, p, room_team] (std::shared_ptr<CustomMember> m) mutable -> bool
{
if (!m->IsAndroid()) {
Player* hum = InternalCreatePlayer(p, m, room_team);
} else {
Human* hum = CreateAndroidWithCustomMember(m, room_team);
}
);
return true;
}
);
}
if (IsMobaModeRoom()) {
int side = a8::RandEx(1, 2);
for (size_t i = 0; i < 2; ++i) {
auto team = room_teams.at(i);
if (i == 0) {
moba_team_a_ = team.get();
} else {
moba_team_b_ = team.get();
}
team->TraverseMembers
(
[this, side] (Human* hum) -> bool
{
hum->side = side;
std::shared_ptr<BornPoint> born_point = std::make_shared<BornPoint>();
born_point->wo_meta = std::get<0>(GetMapMeta()->moba_born_points.at(side - 1));
hum->SetBornPoint(born_point);
hum->InitMobaRoad();
return true;
});
if (side == 1) {
side = 2;
} else {
side = 1;
}
}
}
p->TraverseObList