aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Phasing/PhasingHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-05-22 13:46:45 +0200
committerShauren <shauren.trinity@gmail.com>2025-05-22 13:46:45 +0200
commitb7122c2f6a0c6eef9d58439aac4090ddcee24a2e (patch)
tree3e0ae343ab01f36887c28a7274ae2cfc24167697 /src/server/game/Phasing/PhasingHandler.cpp
parenteb032a30731fc833836ca7fcff8b538bdf74196e (diff)
Core/PacketIO: Migration to PacketUtilities bit/string operations part 3
Diffstat (limited to 'src/server/game/Phasing/PhasingHandler.cpp')
-rw-r--r--src/server/game/Phasing/PhasingHandler.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp
index d3f187f4a69..274884442ab 100644
--- a/src/server/game/Phasing/PhasingHandler.cpp
+++ b/src/server/game/Phasing/PhasingHandler.cpp
@@ -23,6 +23,7 @@
#include "DisableMgr.h"
#include "Language.h"
#include "Map.h"
+#include "MapUtils.h"
#include "MiscPackets.h"
#include "ObjectAccessor.h"
#include "ObjectMgr.h"
@@ -84,8 +85,8 @@ public:
func(summon);
if (Vehicle const* vehicle = unit->GetVehicleKit())
- for (auto seat = vehicle->Seats.begin(); seat != vehicle->Seats.end(); ++seat)
- if (Unit* passenger = ObjectAccessor::GetUnit(*unit, seat->second.Passenger.Guid); passenger && passenger != unit)
+ for (auto const& [_, seat] : vehicle->Seats)
+ if (Unit* passenger = ObjectAccessor::GetUnit(*unit, seat.Passenger.Guid); passenger && passenger != unit)
if (_visited.insert(passenger).second)
func(passenger);
}
@@ -315,7 +316,7 @@ void PhasingHandler::OnAreaChange(WorldObject* object)
{
for (PhaseAreaInfo const& phaseArea : *newAreaPhases)
{
- if (phaseArea.SubAreaExclusions.find(areaId) != phaseArea.SubAreaExclusions.end())
+ if (phaseArea.SubAreaExclusions.contains(areaId))
continue;
uint32 phaseId = phaseArea.PhaseInfo->Id;
@@ -492,15 +493,16 @@ void PhasingHandler::SendToPlayer(Player const* player, PhaseShift const& phaseS
phaseShiftChange.Client = player->GetGUID();
phaseShiftChange.Phaseshift.PhaseShiftFlags = phaseShift.Flags.AsUnderlyingType();
phaseShiftChange.Phaseshift.PersonalGUID = phaseShift.PersonalGuid;
- phaseShiftChange.Phaseshift.Phases.reserve(phaseShift.Phases.size());
- std::transform(phaseShift.Phases.begin(), phaseShift.Phases.end(), std::back_inserter(phaseShiftChange.Phaseshift.Phases),
- [](PhaseShift::PhaseRef const& phase) -> WorldPackets::Misc::PhaseShiftDataPhase { return { phase.Flags.AsUnderlyingType(), phase.Id }; });
- phaseShiftChange.VisibleMapIDs.reserve(phaseShift.VisibleMapIds.size());
- std::transform(phaseShift.VisibleMapIds.begin(), phaseShift.VisibleMapIds.end(), std::back_inserter(phaseShiftChange.VisibleMapIDs),
- [](PhaseShift::VisibleMapIdContainer::value_type const& visibleMapId) { return visibleMapId.first; });
- phaseShiftChange.UiMapPhaseIDs.reserve(phaseShift.UiMapPhaseIds.size());
- std::transform(phaseShift.UiMapPhaseIds.begin(), phaseShift.UiMapPhaseIds.end(), std::back_inserter(phaseShiftChange.UiMapPhaseIDs),
- [](PhaseShift::UiMapPhaseIdContainer::value_type const& uiWorldMapAreaIdSwap) { return uiWorldMapAreaIdSwap.first; });
+
+ phaseShiftChange.Phaseshift.Phases.resize(phaseShift.Phases.size());
+ std::ranges::transform(phaseShift.Phases, phaseShiftChange.Phaseshift.Phases.begin(),
+ [](PhaseShift::PhaseRef const& phase) { return WorldPackets::Misc::PhaseShiftDataPhase{ .PhaseFlags = phase.Flags.AsUnderlyingType(), .Id = phase.Id }; });
+
+ phaseShiftChange.VisibleMapIDs.resize(phaseShift.VisibleMapIds.size());
+ std::ranges::transform(phaseShift.VisibleMapIds, phaseShiftChange.VisibleMapIDs.begin(), Trinity::Containers::MapKey);
+
+ phaseShiftChange.UiMapPhaseIDs.resize(phaseShift.UiMapPhaseIds.size());
+ std::ranges::transform(phaseShift.UiMapPhaseIds, phaseShiftChange.UiMapPhaseIDs.begin(), Trinity::Containers::MapKey);
player->SendDirectMessage(phaseShiftChange.Write());
}
@@ -514,9 +516,9 @@ void PhasingHandler::FillPartyMemberPhase(WorldPackets::Party::PartyMemberPhaseS
{
partyMemberPhases->PhaseShiftFlags = phaseShift.Flags.AsUnderlyingType();
partyMemberPhases->PersonalGUID = phaseShift.PersonalGuid;
- partyMemberPhases->List.reserve(phaseShift.Phases.size());
- std::transform(phaseShift.Phases.begin(), phaseShift.Phases.end(), std::back_inserter(partyMemberPhases->List),
- [](PhaseShift::PhaseRef const& phase) -> WorldPackets::Party::PartyMemberPhase { return { phase.Flags.AsUnderlyingType(), phase.Id }; });
+ partyMemberPhases->List.resize(phaseShift.Phases.size());
+ std::ranges::transform(phaseShift.Phases, partyMemberPhases->List.begin(),
+ [](PhaseShift::PhaseRef const& phase) { return WorldPackets::Party::PartyMemberPhase{ .Flags = phase.Flags.AsUnderlyingType(), .Id = phase.Id }; });
}
PhaseShift const& PhasingHandler::GetEmptyPhaseShift()
@@ -678,7 +680,7 @@ std::string PhasingHandler::FormatPhases(PhaseShift const& phaseShift)
for (PhaseShift::PhaseRef const& phase : phaseShift.Phases)
phases << phase.Id << ',';
- return phases.str();
+ return std::move(phases).str();
}
bool PhasingHandler::IsPersonalPhase(uint32 phaseId)