diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-09-06 23:36:23 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-05 13:57:50 +0100 |
commit | 706163743d481e092111401752c9cbb056b35e69 (patch) | |
tree | eca161d19bec27a57de0e7e258019bd40b179149 /src/server/game/Battlegrounds/ArenaTeamMgr.cpp | |
parent | ca498ffab23e9be7a4ffc6ea6adbfa3c01d5e6f6 (diff) |
[3.3.5] Scripts/Commands: .arena command conversion (PR #25407)
(cherry picked from commit b63d655e20a0facf14fc77798c52ea67d8551fa7)
Diffstat (limited to 'src/server/game/Battlegrounds/ArenaTeamMgr.cpp')
-rw-r--r-- | src/server/game/Battlegrounds/ArenaTeamMgr.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp index a85484a2331..51c811f3221 100644 --- a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp +++ b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp @@ -45,36 +45,30 @@ ArenaTeam* ArenaTeamMgr::GetArenaTeamById(uint32 arenaTeamId) const ArenaTeamContainer::const_iterator itr = ArenaTeamStore.find(arenaTeamId); if (itr != ArenaTeamStore.end()) return itr->second; - return nullptr; } -ArenaTeam* ArenaTeamMgr::GetArenaTeamByName(const std::string& arenaTeamName) const +ArenaTeam* ArenaTeamMgr::GetArenaTeamByName(std::string_view arenaTeamName) const { - std::string search = arenaTeamName; - std::transform(search.begin(), search.end(), search.begin(), ::toupper); - for (ArenaTeamContainer::const_iterator itr = ArenaTeamStore.begin(); itr != ArenaTeamStore.end(); ++itr) - { - std::string teamName = itr->second->GetName(); - std::transform(teamName.begin(), teamName.end(), teamName.begin(), ::toupper); - if (search == teamName) - return itr->second; - } + for (auto [teamId, team] : ArenaTeamStore) + if (StringEqualI(arenaTeamName, team->GetName())) + return team; return nullptr; } ArenaTeam* ArenaTeamMgr::GetArenaTeamByCaptain(ObjectGuid guid) const { - for (ArenaTeamContainer::const_iterator itr = ArenaTeamStore.begin(); itr != ArenaTeamStore.end(); ++itr) - if (itr->second->GetCaptain() == guid) - return itr->second; - + for (auto [teamId, team] : ArenaTeamStore) + if (team->GetCaptain() == guid) + return team; return nullptr; } void ArenaTeamMgr::AddArenaTeam(ArenaTeam* arenaTeam) { - ArenaTeamStore[arenaTeam->GetId()] = arenaTeam; + ArenaTeam*& team = ArenaTeamStore[arenaTeam->GetId()]; + ASSERT((team == nullptr) || (team == arenaTeam), "Duplicate arena team with ID %u", arenaTeam->GetId()); + team = arenaTeam; } void ArenaTeamMgr::RemoveArenaTeam(uint32 arenaTeamId) |