send avatar kills after attachments, send otherattachments before rest of

sog ( updates will mess this again but well... )
avinationmerge
UbitUmarov 2014-08-23 22:24:28 +01:00
parent d55041d934
commit 06b6238d00
1 changed files with 4 additions and 3 deletions

View File

@ -3521,7 +3521,7 @@ namespace OpenSim.Region.Framework.Scenes
EntityBase[] entities = Scene.Entities.GetEntities(); EntityBase[] entities = Scene.Entities.GetEntities();
foreach (EntityBase e in entities) foreach (EntityBase e in entities)
{ {
if (e != null && e is SceneObjectGroup) if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment)
((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient); ((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient);
} }
}); });
@ -3596,7 +3596,7 @@ namespace OpenSim.Region.Framework.Scenes
p.SendAvatarDataToAgentNF(this); p.SendAvatarDataToAgentNF(this);
p.SendAppearanceToAgentNF(this); p.SendAppearanceToAgentNF(this);
p.SendAnimPackToAgentNF(this); p.SendAnimPackToAgentNF(this);
// for now attachments are sent with all SOG p.SendAttachmentsToAgentNF(this);
count++; count++;
}); });
@ -5969,9 +5969,10 @@ namespace OpenSim.Region.Framework.Scenes
public void SendKillTo(ScenePresence p) public void SendKillTo(ScenePresence p)
{ {
List<uint> ids = new List<uint>(m_attachments.Count + 1); List<uint> ids = new List<uint>(m_attachments.Count + 1);
ids.Add(LocalId);
foreach (SceneObjectGroup sog in m_attachments) foreach (SceneObjectGroup sog in m_attachments)
ids.Add(sog.RootPart.LocalId); ids.Add(sog.RootPart.LocalId);
ids.Add(LocalId);
p.ControllingClient.SendKillObject(ids); p.ControllingClient.SendKillObject(ids);
} }