Core/Objects: More minor refactors for SMSG_UPDATE_OBJECT building - move getting and writing field flags to shared function

Port From (https://github.com/TrinityCore/TrinityCore/commit/ee54ade3975748bf373162b2397328852dec6701)
This commit is contained in:
Hondacrx
2024-11-11 12:32:44 -05:00
parent a3edaf4df6
commit 6fcce1a6e4
13 changed files with 33 additions and 86 deletions
+2 -7
View File
@@ -7915,11 +7915,8 @@ namespace Game.Entities
return flags;
}
public override void BuildValuesCreate(WorldPacket data, Player target)
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
{
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
data.WriteUInt8((byte)flags);
m_objectData.WriteCreate(data, flags, this, target);
m_unitData.WriteCreate(data, flags, this, target);
m_playerData.WriteCreate(data, flags, this, target);
@@ -7927,10 +7924,8 @@ namespace Game.Entities
m_activePlayerData.WriteCreate(data, flags, this, target);
}
public override void BuildValuesUpdate(WorldPacket data, Player target)
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
{
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
data.WriteUInt32((uint)(m_values.GetChangedObjectTypeMask() & ~((target != this ? 1 : 0) << (int)TypeId.ActivePlayer)));
if (m_values.HasChanged(TypeId.Object))
m_objectData.WriteUpdate(data, flags, this, target);