From 94dc7d07ebc22ce0e0d9b77e91538ddc90799bee Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Thu, 3 Nov 2011 17:06:08 -0700 Subject: Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to the 3 iteration functions so more of them are using the correct iteration for the action they are performing. The 3 iterators that seem to fit all actions within OpenSim at this time are: ForEachAvatar: Perform an action on all avatars (root presences) ForEachClient: Perform an action on all clients (root or child clients) ForEachRootClient: Perform an action on all clients that have an avatar There are still a dozen places or so calling the old ForEachScenePresence that will take a little more refactoring to eliminate. --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 19 +++++++++---------- .../Shared/Api/Implementation/OSSL_Api.cs | 6 +++--- .../Shared/Api/Implementation/Plugins/SensorRepeat.cs | 4 ++-- 3 files changed, 14 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 0750579..d2ddcef 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -1644,7 +1644,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (flexi) { part.Shape.FlexiEntry = true; // this setting flexi true isn't working, but the below parameters do - // work once the prim is already flexi + // work once the prim is already flexi part.Shape.FlexiSoftness = softness; part.Shape.FlexiGravity = gravity; part.Shape.FlexiDrag = friction; @@ -1654,10 +1654,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.Shape.FlexiForceY = (float)Force.y; part.Shape.FlexiForceZ = (float)Force.z; part.Shape.PathCurve = 0x80; + part.ParentGroup.HasGroupChanged = true; + part.ScheduleFullUpdate(); } - - part.ParentGroup.HasGroupChanged = true; - part.ScheduleFullUpdate(); } /// @@ -3741,7 +3740,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); List keytable = new List(); // parse for sitting avatare-uuids - World.ForEachRootScenePresence(delegate(ScenePresence presence) + World.ForEachAvatar(delegate(ScenePresence presence) { if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) keytable.Add(presence.UUID); @@ -3803,7 +3802,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); // parse for sitting avatare-names List nametable = new List(); - World.ForEachRootScenePresence(delegate(ScenePresence presence) + World.ForEachAvatar(delegate(ScenePresence presence) { if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) nametable.Add(presence.ControllingClient.Name); @@ -7612,7 +7611,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); int avatarCount = 0; - World.ForEachRootScenePresence(delegate(ScenePresence presence) + World.ForEachAvatar(delegate(ScenePresence presence) { if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID)) avatarCount++; @@ -9380,7 +9379,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api landObject.SetMediaUrl(url); // now send to all (non-child) agents in the parcel - World.ForEachRootScenePresence(delegate(ScenePresence sp) + World.ForEachAvatar(delegate(ScenePresence sp) { if (sp.currentParcelUUID == landData.GlobalID) { @@ -9413,7 +9412,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null) { // send to all (non-child) agents in the parcel - World.ForEachRootScenePresence(delegate(ScenePresence sp) + World.ForEachAvatar(delegate(ScenePresence sp) { if (sp.currentParcelUUID == landData.GlobalID) { @@ -10528,7 +10527,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (checkAgents) { - World.ForEachScenePresence(delegate(ScenePresence sp) + World.ForEachAvatar(delegate(ScenePresence sp) { if (sp.AbsolutePosition.ApproxEquals(posToCheck, sp.PhysicsActor.Size.X)) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index f3206ac..3138131 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -873,7 +873,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.None, "osGetAgents"); LSL_List result = new LSL_List(); - World.ForEachRootScenePresence(delegate(ScenePresence sp) + World.ForEachAvatar(delegate(ScenePresence sp) { result.Add(new LSL_String(sp.Name)); }); @@ -2581,7 +2581,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) { - World.ForEachRootScenePresence(delegate(ScenePresence sp) + World.ForEachAvatar(delegate(ScenePresence sp) { if (sp.Firstname == FirstName && sp.Lastname == SurName) { @@ -2715,7 +2715,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); LSL_List result = new LSL_List(); - World.ForEachRootScenePresence(delegate (ScenePresence avatar) + World.ForEachAvatar(delegate (ScenePresence avatar) { if (avatar != null && avatar.UUID != m_host.OwnerID) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index 4ac7f8b..eb05f16 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs @@ -507,7 +507,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins senseEntity(sp); if ((ts.type & AGENT_BY_USERNAME) != 0) { - m_CmdManager.m_ScriptEngine.World.ForEachScenePresence( + m_CmdManager.m_ScriptEngine.World.ForEachAvatar( delegate (ScenePresence ssp) { if (ssp.Lastname == "Resident") @@ -526,7 +526,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins } else { - m_CmdManager.m_ScriptEngine.World.ForEachScenePresence(senseEntity); + m_CmdManager.m_ScriptEngine.World.ForEachAvatar(senseEntity); } return sensedEntities; } -- cgit v1.1