Core/Objects: Added helper structures to allow using customized updatefield sending packet functions with Trinity::MessageDistDeliverer

This commit is contained in:
Shauren
2022-02-26 15:58:23 +01:00
parent ed77b9c3a9
commit ee835671b4
24 changed files with 274 additions and 2 deletions
@@ -302,6 +302,17 @@ void DynamicObject::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::Obj
data->AddUpdateBlock(buffer);
}
void DynamicObject::ValuesUpdateForPlayerWithMaskSender::operator()(Player const* player) const
{
UpdateData udata(Owner->GetMapId());
WorldPacket packet;
Owner->BuildValuesUpdateForPlayerWithMask(&udata, ObjectMask.GetChangesMask(), DynamicObjectMask.GetChangesMask(), player);
udata.BuildPacket(&packet);
player->SendDirectMessage(&packet);
}
void DynamicObject::ClearUpdateMask(bool remove)
{
m_values.ClearChangesMask(&DynamicObject::m_dynamicObjectData);