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

This commit is contained in:
Shauren
2024-10-27 18:33:47 +01:00
parent a771f210a6
commit ee54ade397
26 changed files with 57 additions and 90 deletions

View File

@@ -252,17 +252,14 @@ SpellInfo const* DynamicObject::GetSpellInfo() const
return sSpellMgr->GetSpellInfo(GetSpellId(), GetMap()->GetDifficultyID());
}
void DynamicObject::BuildValuesCreate(ByteBuffer* data, Player const* target) const
void DynamicObject::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint8(flags);
m_objectData->WriteCreate(*data, flags, this, target);
m_dynamicObjectData->WriteCreate(*data, flags, this, target);
}
void DynamicObject::BuildValuesUpdate(ByteBuffer* data, Player const* target) const
void DynamicObject::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
*data << uint32(m_values.GetChangedObjectTypeMask());
if (m_values.HasChanged(TYPEID_OBJECT))

View File

@@ -40,8 +40,8 @@ class TC_GAME_API DynamicObject final : public WorldObject, public GridObject<Dy
~DynamicObject();
protected:
void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
void BuildValuesUpdate(ByteBuffer* data, Player const* target) const override;
void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void ClearUpdateMask(bool remove) override;
public: