add a direct sendpartfullUpdate to send a full object update to a part,

optionally overriding its parentID. check what it does to attachments
This commit is contained in:
UbitUmarov
2014-08-21 00:49:10 +01:00
parent ea1c232f92
commit 5bf145a397
6 changed files with 43 additions and 0 deletions

View File

@@ -4208,9 +4208,35 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OutPacket(packet, ThrottleOutPacketType.Task, true);
}
#endregion Packet Sending
}
// hack.. dont use
public void SendPartFullUpdate(ISceneEntity ent, uint? parentID)
{
if (ent is SceneObjectPart)
{
SceneObjectPart part = (SceneObjectPart)ent;
ObjectUpdatePacket packet = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = 1;
packet.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
ObjectUpdatePacket.ObjectDataBlock blk = CreatePrimUpdateBlock(part, this.m_agentId);
if (parentID.HasValue)
{
blk.ParentID = parentID.Value;
}
packet.ObjectData[0] = blk;
OutPacket(packet, ThrottleOutPacketType.Task, true);
}
}
public void ReprioritizeUpdates()
{
lock (m_entityUpdates.SyncRoot)