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
+9 -4
View File
@@ -167,9 +167,12 @@ namespace Game.Entities
BuildMovementUpdate(buffer, flags, target);
UpdateFieldFlag fieldFlags = GetUpdateFieldFlagsFor(target);
WorldPacket tempBuffer = new();
BuildValuesCreate(tempBuffer, target);
BuildValuesCreate(tempBuffer, fieldFlags, target);
buffer.WriteUInt32(tempBuffer.GetSize());
buffer.WriteUInt8((byte)fieldFlags);
buffer.WriteBytes(tempBuffer);
data.AddUpdateBlock(buffer);
@@ -196,8 +199,10 @@ namespace Game.Entities
buffer.WriteUInt8((byte)UpdateType.Values);
buffer.WritePackedGuid(GetGUID());
UpdateFieldFlag fieldFlags = GetUpdateFieldFlagsFor(target);
WorldPacket tempBuffer = new();
BuildValuesUpdate(tempBuffer, target);
BuildValuesUpdate(tempBuffer, fieldFlags, target);
buffer.WriteUInt32(tempBuffer.GetSize());
buffer.WriteBytes(tempBuffer);
@@ -833,8 +838,8 @@ namespace Game.Entities
public virtual Loot GetLootForPlayer(Player player) { return null; }
public virtual void BuildValuesCreate(WorldPacket data, Player target) { }
public virtual void BuildValuesUpdate(WorldPacket data, Player target) { }
public virtual void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target) { }
public virtual void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target) { }
public void SetUpdateFieldValue<T>(IUpdateField<T> updateField, T newValue)
{