Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence.

0.7.2-post-fixes
Dan Lake 2011-10-27 01:25:12 -07:00 committed by Justin Clark-Casey (justincc)
parent b36ff0fd24
commit aa6915f1ba
4 changed files with 39 additions and 57 deletions

View File

@ -98,10 +98,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
public void SendGeneralAlert(string message) public void SendGeneralAlert(string message)
{ {
m_scene.ForEachScenePresence(delegate(ScenePresence presence) m_scene.ForEachRootScenePresence(delegate(ScenePresence presence)
{ {
if (!presence.IsChildAgent) presence.ControllingClient.SendAlertMessage(message);
presence.ControllingClient.SendAlertMessage(message);
}); });
} }
@ -163,10 +162,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
public void SendNotificationToUsersInRegion( public void SendNotificationToUsersInRegion(
UUID fromAvatarID, string fromAvatarName, string message) UUID fromAvatarID, string fromAvatarName, string message)
{ {
m_scene.ForEachScenePresence(delegate(ScenePresence presence) m_scene.ForEachRootScenePresence(delegate(ScenePresence presence)
{ {
if (!presence.IsChildAgent) presence.ControllingClient.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message);
presence.ControllingClient.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message);
}); });
} }

View File

@ -1440,10 +1440,9 @@ namespace OpenSim.Region.Framework.Scenes
if (volume < 0) if (volume < 0)
volume = 0; volume = 0;
m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) m_parentGroup.Scene.ForEachRootScenePresence(delegate(ScenePresence sp)
{ {
if (!sp.IsChildAgent) sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume);
sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume);
}); });
} }
@ -2676,10 +2675,8 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) m_parentGroup.Scene.ForEachRootScenePresence(delegate(ScenePresence sp)
{ {
if (sp.IsChildAgent)
return;
if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100)) if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100))
sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID);
}); });

View File

@ -2580,19 +2580,15 @@ namespace OpenSim.Region.Framework.Scenes
public void SendOtherAgentsAvatarDataToMe() public void SendOtherAgentsAvatarDataToMe()
{ {
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence)
{ {
// only send information about root agents // only send information about other root agents
if (scenePresence.IsChildAgent) if (scenePresence.UUID == UUID)
return; return;
// only send information about other root agents scenePresence.SendAvatarDataToAgent(this);
if (scenePresence.UUID == UUID) count++;
return; });
scenePresence.SendAvatarDataToAgent(this);
count++;
});
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
} }
@ -2626,13 +2622,14 @@ namespace OpenSim.Region.Framework.Scenes
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
{ {
if (scenePresence.UUID == UUID) // only send information to other root agents
return; if (scenePresence.UUID == UUID)
return;
SendAppearanceToAgent(scenePresence); SendAppearanceToAgent(scenePresence);
count++; count++;
}); });
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
} }
@ -2646,19 +2643,15 @@ namespace OpenSim.Region.Framework.Scenes
//m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID);
int count = 0; int count = 0;
m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence)
{ {
// only send information about root agents // only send information about other root agents
if (scenePresence.IsChildAgent) if (scenePresence.UUID == UUID)
return; return;
// only send information about other root agents scenePresence.SendAppearanceToAgent(this);
if (scenePresence.UUID == UUID) count++;
return; });
scenePresence.SendAppearanceToAgent(this);
count++;
});
m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentUpdates(count);
} }

View File

@ -818,10 +818,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
CheckThreatLevel(ThreatLevel.None, "osGetAgents"); CheckThreatLevel(ThreatLevel.None, "osGetAgents");
LSL_List result = new LSL_List(); 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; return result;
} }
@ -2520,11 +2519,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar");
if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID))
{ {
World.ForEachScenePresence(delegate(ScenePresence sp) World.ForEachRootScenePresence(delegate(ScenePresence sp)
{ {
if (!sp.IsChildAgent && if (sp.Firstname == FirstName && sp.Lastname == SurName)
sp.Firstname == FirstName &&
sp.Lastname == SurName)
{ {
// kick client... // kick client...
if (alert != null) if (alert != null)
@ -2656,17 +2653,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); CheckThreatLevel(ThreatLevel.None, "osGetAvatarList");
LSL_List result = new LSL_List(); 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 != 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_String(avatar.UUID.ToString())); result.Add(new LSL_Vector(ap.X, ap.Y, ap.Z));
OpenMetaverse.Vector3 ap = avatar.AbsolutePosition; result.Add(new LSL_String(avatar.Name));
result.Add(new LSL_Vector(ap.X, ap.Y, ap.Z));
result.Add(new LSL_String(avatar.Name));
}
} }
}); });