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.
This commit is contained in:
Dan Lake
2011-11-03 17:06:08 -07:00
parent 69a4057135
commit 94dc7d07eb
23 changed files with 123 additions and 156 deletions

View File

@@ -658,14 +658,14 @@ namespace OpenSim.Region.CoreModules.World.Estate
if (!Scene.Permissions.CanIssueEstateCommand(remover_client.AgentId, false))
return;
Scene.ForEachRootScenePresence(delegate(ScenePresence sp)
Scene.ForEachRootClient(delegate(IClientAPI client)
{
if (sp.UUID != senderID)
if (client.AgentId != senderID)
{
// make sure they are still there, we could be working down a long list
// Also make sure they are actually in the region
ScenePresence p;
if(Scene.TryGetScenePresence(sp.UUID, out p))
if(Scene.TryGetScenePresence(client.AgentId, out p))
Scene.TeleportClientHome(p.UUID, p.ControllingClient);
}
});
@@ -927,9 +927,9 @@ namespace OpenSim.Region.CoreModules.World.Estate
public void sendRegionInfoPacketToAll()
{
Scene.ForEachRootScenePresence(delegate(ScenePresence sp)
Scene.ForEachRootClient(delegate(IClientAPI client)
{
HandleRegionInfoRequest(sp.ControllingClient);
HandleRegionInfoRequest(client);
});
}