Core/Groups: Make member field naming consistent and add missing consts

(cherry picked from commit 76ab45ee2d)
This commit is contained in:
Shauren
2024-07-25 12:29:59 +02:00
committed by Ovahlord
parent 978eee2f4b
commit a2b6af53ac
2 changed files with 37 additions and 53 deletions

View File

@@ -67,7 +67,7 @@ m_readyCheckStarted(false), m_readyCheckTimer(Milliseconds::zero()), m_activeMar
for (uint8 i = 0; i < RAID_MARKERS_COUNT; ++i)
m_markers[i] = nullptr;
_countdowns = { nullptr, nullptr, nullptr };
m_countdowns = { nullptr, nullptr, nullptr };
}
Group::~Group()
@@ -821,7 +821,7 @@ void Group::SetTargetIcon(uint8 symbol, ObjectGuid target, ObjectGuid changedBy)
BroadcastPacket(updateSingle.Write(), true);
}
void Group::SendTargetIconList(WorldSession* session)
void Group::SendTargetIconList(WorldSession* session) const
{
if (!session)
return;
@@ -834,13 +834,13 @@ void Group::SendTargetIconList(WorldSession* session)
session->SendPacket(updateAll.Write());
}
void Group::SendUpdate()
void Group::SendUpdate() const
{
for (member_witerator witr = m_memberSlots.begin(); witr != m_memberSlots.end(); ++witr)
SendUpdateToPlayer(witr->guid, &(*witr));
for (MemberSlot const& memberSlot : m_memberSlots)
SendUpdateToPlayer(memberSlot.guid, &memberSlot);
}
void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot)
void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot const* slot) const
{
Player* player = ObjectAccessor::FindConnectedPlayer(playerGUID);
@@ -850,7 +850,7 @@ void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot)
// if MemberSlot wasn't provided
if (!slot)
{
member_witerator witr = _getMemberWSlot(playerGUID);
member_citerator witr = _getMemberCSlot(playerGUID);
if (witr == m_memberSlots.end()) // if there is no MemberSlot for such a player
return;
@@ -879,7 +879,7 @@ void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot)
Player* member = ObjectAccessor::FindConnectedPlayer(citr->guid);
WorldPackets::Party::PartyPlayerInfo playerInfos;
WorldPackets::Party::PartyPlayerInfo& playerInfos = partyUpdate.PlayerList.emplace_back();
playerInfos.GUID = citr->guid;
playerInfos.Name = citr->name;
@@ -892,8 +892,6 @@ void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot)
playerInfos.Subgroup = citr->group; // groupid
playerInfos.Flags = citr->flags; // See enum GroupMemberFlags
playerInfos.RolesAssigned = citr->roles; // Lfg Roles
partyUpdate.PlayerList.push_back(playerInfos);
}
if (GetMembersCount() > 1)
@@ -949,7 +947,7 @@ void Group::SendUpdateDestroyGroupToPlayer(Player* player) const
player->SendDirectMessage(partyUpdate.Write());
}
void Group::UpdatePlayerOutOfRange(Player* player)
void Group::UpdatePlayerOutOfRange(Player const* player) const
{
if (!player || !player->IsInWorld())
return;
@@ -958,10 +956,9 @@ void Group::UpdatePlayerOutOfRange(Player* player)
packet.Initialize(player);
packet.Write();
Player* member;
for (GroupReference* itr = GetFirstMember(); itr != nullptr; itr = itr->next())
for (GroupReference const* itr = GetFirstMember(); itr != nullptr; itr = itr->next())
{
member = itr->GetSource();
Player const* member = itr->GetSource();
if (member && member != player && (!member->IsInMap(player) || !member->IsWithinDist(player, member->GetSightRange(), false)))
member->SendDirectMessage(packet.GetRawPacket());
}
@@ -1428,21 +1425,21 @@ void Group::BroadcastGroupUpdate(void)
void Group::StartCountdown(CountdownTimerType timerType, Seconds duration, Optional<time_t> startTime)
{
if (AsUnderlyingType(timerType) < 0 || AsUnderlyingType(timerType) >= std::ssize(_countdowns))
if (AsUnderlyingType(timerType) < 0 || AsUnderlyingType(timerType) >= std::ssize(m_countdowns))
return;
if (!_countdowns[AsUnderlyingType(timerType)])
_countdowns[AsUnderlyingType(timerType)] = std::make_unique<CountdownInfo>();
if (!m_countdowns[AsUnderlyingType(timerType)])
m_countdowns[AsUnderlyingType(timerType)] = std::make_unique<CountdownInfo>();
_countdowns[AsUnderlyingType(timerType)]->StartCountdown(duration, startTime);
m_countdowns[AsUnderlyingType(timerType)]->StartCountdown(duration, startTime);
}
Group::CountdownInfo const* Group::GetCountdownInfo(CountdownTimerType timerType) const
{
if (AsUnderlyingType(timerType) < 0 || AsUnderlyingType(timerType) >= std::ssize(_countdowns))
if (AsUnderlyingType(timerType) < 0 || AsUnderlyingType(timerType) >= std::ssize(m_countdowns))
return nullptr;
return _countdowns[AsUnderlyingType(timerType)].get();
return m_countdowns[AsUnderlyingType(timerType)].get();
}
void Group::SetLootMethod(LootMethod method)
@@ -1475,9 +1472,9 @@ void Group::SetLfgRoles(ObjectGuid guid, uint8 roles)
SendUpdate();
}
uint8 Group::GetLfgRoles(ObjectGuid guid)
uint8 Group::GetLfgRoles(ObjectGuid guid) const
{
member_witerator slot = _getMemberWSlot(guid);
member_citerator slot = _getMemberCSlot(guid);
if (slot == m_memberSlots.end())
return 0;
@@ -1611,7 +1608,7 @@ void Group::DeleteRaidMarker(uint8 markerId)
SendRaidMarkersChanged();
}
void Group::SendRaidMarkersChanged(WorldSession* session)
void Group::SendRaidMarkersChanged(WorldSession* session) const
{
WorldPackets::Party::RaidMarkersChanged packet;
@@ -1705,11 +1702,12 @@ bool Group::IsLeader(ObjectGuid guid) const
return (GetLeaderGUID() == guid);
}
ObjectGuid Group::GetMemberGUID(const std::string& name)
ObjectGuid Group::GetMemberGUID(std::string const& name) const
{
for (member_citerator itr = m_memberSlots.begin(); itr != m_memberSlots.end(); ++itr)
if (itr->name == name)
return itr->guid;
auto itr = std::ranges::find(m_memberSlots, name, &MemberSlot::name);
if (itr != m_memberSlots.end())
return itr->guid;
return ObjectGuid::Empty;
}
@@ -1755,9 +1753,9 @@ void Group::SetBattlegroundGroup(Battleground* bg)
m_bgGroup = bg;
}
void Group::SetBattlefieldGroup(Battlefield *bg)
void Group::SetBattlefieldGroup(Battlefield *bf)
{
m_bfGroup = bg;
m_bfGroup = bf;
}
void Group::SetGroupMemberFlag(ObjectGuid guid, bool apply, GroupMemberFlags flag)
@@ -1835,18 +1833,12 @@ void Group::_initRaidSubGroupsCounter()
Group::member_citerator Group::_getMemberCSlot(ObjectGuid Guid) const
{
for (member_citerator itr = m_memberSlots.begin(); itr != m_memberSlots.end(); ++itr)
if (itr->guid == Guid)
return itr;
return m_memberSlots.end();
return std::ranges::find(m_memberSlots, Guid, &MemberSlot::guid);
}
Group::member_witerator Group::_getMemberWSlot(ObjectGuid Guid)
{
for (member_witerator itr = m_memberSlots.begin(); itr != m_memberSlots.end(); ++itr)
if (itr->guid == Guid)
return itr;
return m_memberSlots.end();
return std::ranges::find(m_memberSlots, Guid, &MemberSlot::guid);
}
void Group::SubGroupCounterIncrease(uint8 subgroup)

View File

@@ -258,7 +258,7 @@ class TC_GAME_API Group
void SetLootThreshold(ItemQualities threshold);
void Disband(bool hideDestroy = false);
void SetLfgRoles(ObjectGuid guid, uint8 roles);
uint8 GetLfgRoles(ObjectGuid guid);
uint8 GetLfgRoles(ObjectGuid guid) const;
void SetEveryoneIsAssistant(bool apply);
bool IsRestrictPingsToAssistants() const;
void SetRestrictPingsToAssistants(bool restrictPingsToAssistants);
@@ -283,7 +283,7 @@ class TC_GAME_API Group
// Raid Markers
void AddRaidMarker(uint8 markerId, uint32 mapId, float positionX, float positionY, float positionZ, ObjectGuid transportGuid = ObjectGuid::Empty);
void DeleteRaidMarker(uint8 markerId);
void SendRaidMarkersChanged(WorldSession* session = nullptr);
void SendRaidMarkersChanged(WorldSession* session = nullptr) const;
// properties accessories
bool IsFull() const;
@@ -306,7 +306,7 @@ class TC_GAME_API Group
// member manipulation methods
bool IsMember(ObjectGuid guid) const;
bool IsLeader(ObjectGuid guid) const;
ObjectGuid GetMemberGUID(const std::string& name);
ObjectGuid GetMemberGUID(std::string const& name) const;
uint8 GetMemberFlags(ObjectGuid guid) const;
bool IsAssistant(ObjectGuid guid) const
{
@@ -354,19 +354,11 @@ class TC_GAME_API Group
void ResetInstances(InstanceResetMethod method, Player* notifyPlayer);
// -no description-
//void SendInit(WorldSession* session);
void SendTargetIconList(WorldSession* session);
void SendUpdate();
void SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot = nullptr);
void SendTargetIconList(WorldSession* session) const;
void SendUpdate() const;
void SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot const* slot = nullptr) const;
void SendUpdateDestroyGroupToPlayer(Player* player) const;
void UpdatePlayerOutOfRange(Player* player);
template<class Worker>
void BroadcastWorker(Worker& worker)
{
for (GroupReference* itr = GetFirstMember(); itr != nullptr; itr = itr->next())
worker(itr->GetSource());
}
void UpdatePlayerOutOfRange(Player const* player) const;
template<class Worker>
void BroadcastWorker(Worker const& worker) const
@@ -457,7 +449,7 @@ class TC_GAME_API Group
std::array<std::unique_ptr<RaidMarker>, RAID_MARKERS_COUNT> m_markers;
uint32 m_activeMarkers;
std::array<std::unique_ptr<CountdownInfo>, 3> _countdowns;
std::array<std::unique_ptr<CountdownInfo>, 3> m_countdowns;
struct NoopGroupDeleter { void operator()(Group*) const { /*noop - not managed*/ } };
Trinity::unique_trackable_ptr<Group> m_scriptRef;