diff options
Diffstat (limited to 'src/game/Object.cpp')
-rw-r--r-- | src/game/Object.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 8727ab1d31f..3b976eb1d22 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -232,7 +232,13 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData *data, Player *target) c data->AddUpdateBlock(buf); } -void Object::SendCreateUpdateToPlayer(Player* player) +void Object::BuildUpdate(UpdateDataMapType &update_players) +{ + ObjectAccessor::_buildUpdateObject(this,update_players); + ClearUpdateMask(true); +} + +void Object::SendUpdateToPlayer(Player* player) { // send create update to player UpdateData upd; @@ -714,6 +720,20 @@ void Object::ClearUpdateMask(bool remove) } } +// Send current value fields changes to all viewers +void Object::SendUpdateObjectToAllExcept(Player* exceptPlayer) +{ + // changes will be send in create packet + if(!IsInWorld()) + return; + + // nothing do + if(!m_objectUpdated) + return; + + ObjectAccessor::UpdateObject(this,exceptPlayer); +} + bool Object::LoadValues(const char* data) { if(!m_uint32Values) _InitValues(); |