From b98613091cd6dc2f914fb5ab38ca33cdff21fc24 Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Thu, 27 Oct 2011 00:42:21 -0700 Subject: Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors. --- .../Shared/Api/Implementation/LSL_Api.cs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Api') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 82701ce..83c3b78 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -3723,9 +3723,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); List keytable = new List(); // parse for sitting avatare-uuids - World.ForEachScenePresence(delegate(ScenePresence presence) + World.ForEachRootScenePresence(delegate(ScenePresence presence) { - if (!presence.IsChildAgent && presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) + if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) keytable.Add(presence.UUID); }); @@ -3785,9 +3785,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); // parse for sitting avatare-names List nametable = new List(); - World.ForEachScenePresence(delegate(ScenePresence presence) + World.ForEachRootScenePresence(delegate(ScenePresence presence) { - if (!presence.IsChildAgent && presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) + if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) nametable.Add(presence.ControllingClient.Name); }); @@ -7568,9 +7568,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); int avatarCount = 0; - World.ForEachScenePresence(delegate(ScenePresence presence) + World.ForEachRootScenePresence(delegate(ScenePresence presence) { - if (!presence.IsChildAgent && presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) + if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) avatarCount++; }); @@ -9336,9 +9336,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api landObject.SetMediaUrl(url); // now send to all (non-child) agents in the parcel - World.ForEachScenePresence(delegate(ScenePresence sp) + World.ForEachRootScenePresence(delegate(ScenePresence sp) { - if (!sp.IsChildAgent && (sp.currentParcelUUID == landData.GlobalID)) + if (sp.currentParcelUUID == landData.GlobalID) { sp.ControllingClient.SendParcelMediaUpdate(landData.MediaURL, landData.MediaID, @@ -9369,9 +9369,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null) { // send to all (non-child) agents in the parcel - World.ForEachScenePresence(delegate(ScenePresence sp) + World.ForEachRootScenePresence(delegate(ScenePresence sp) { - if (!sp.IsChildAgent && (sp.currentParcelUUID == landData.GlobalID)) + if (sp.currentParcelUUID == landData.GlobalID) { sp.ControllingClient.SendParcelMediaCommand(0x4, // TODO what is this? (ParcelMediaCommandEnum)commandToSend, -- cgit v1.1 From 06577d7299f38c342c9b241c691e647e5329837e Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Thu, 27 Oct 2011 01:25:12 -0700 Subject: Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence. --- .../Shared/Api/Implementation/OSSL_Api.cs | 24 ++++++++-------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Api') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 3cfc3c9..654f168 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -873,10 +873,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.None, "osGetAgents"); LSL_List result = new LSL_List(); - World.ForEachScenePresence(delegate(ScenePresence sp) + World.ForEachRootScenePresence(delegate(ScenePresence sp) { - if (!sp.IsChildAgent) - result.Add(new LSL_String(sp.Name)); + result.Add(new LSL_String(sp.Name)); }); return result; } @@ -2582,11 +2581,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) { - World.ForEachScenePresence(delegate(ScenePresence sp) + World.ForEachRootScenePresence(delegate(ScenePresence sp) { - if (!sp.IsChildAgent && - sp.Firstname == FirstName && - sp.Lastname == SurName) + if (sp.Firstname == FirstName && sp.Lastname == SurName) { // kick client... if (alert != null) @@ -2718,17 +2715,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); LSL_List result = new LSL_List(); - World.ForEachScenePresence(delegate (ScenePresence avatar) + World.ForEachRootScenePresence(delegate (ScenePresence avatar) { if (avatar != null && avatar.UUID != m_host.OwnerID) { - if (avatar.IsChildAgent == false) - { - result.Add(new LSL_String(avatar.UUID.ToString())); - OpenMetaverse.Vector3 ap = avatar.AbsolutePosition; - result.Add(new LSL_Vector(ap.X, ap.Y, ap.Z)); - result.Add(new LSL_String(avatar.Name)); - } + result.Add(new LSL_String(avatar.UUID.ToString())); + OpenMetaverse.Vector3 ap = avatar.AbsolutePosition; + result.Add(new LSL_Vector(ap.X, ap.Y, ap.Z)); + result.Add(new LSL_String(avatar.Name)); } }); -- cgit v1.1