This commit is contained in:
aozhiwei 2024-04-10 16:12:06 +08:00
parent 803f0ae873
commit 96982ddc44

View File

@ -190,15 +190,19 @@ void Room::Init()
if (a8::TIMER_EXEC_EVENT == event) { if (a8::TIMER_EXEC_EVENT == event) {
if (!IsGameOver() && !GetVictoryTeam()) { if (!IsGameOver() && !GetVictoryTeam()) {
for (size_t i = 0; i < 2; ++i) { for (size_t i = 0; i < 2; ++i) {
Team* team = GetMobaTeamA(); const auto side = i + 1;
if (i == 1) { auto& tuple = GetMapMeta()->GetMobaRoomMeta()->moba_towers.at(i);
team = GetMobaTeamB(); TraverseTeams
} (
auto tuple = GetMapMeta()->GetMobaRoomMeta()->moba_towers.at(i); [&tuple, side] (Team* team) -> bool
{
team->TraverseMembers team->TraverseMembers
( (
[&tuple] (Human* hum) -> bool [&tuple, side] (Human* hum) -> bool
{ {
if (hum->side != side) {
return false;
}
float distance = hum->GetPos().Distance2D2(std::get<0>(tuple)); float distance = hum->GetPos().Distance2D2(std::get<0>(tuple));
if (distance < std::get<1>(tuple)) { if (distance < std::get<1>(tuple)) {
if (!hum->dead && !hum->poisoning && !hum->downed) { if (!hum->dead && !hum->poisoning && !hum->downed) {
@ -211,6 +215,8 @@ void Room::Init()
} }
return true; return true;
}); });
return true;
});
} }
} }
} }