mirror of
https://github.com/opensim/opensim.git
synced 2026-08-13 05:05:43 +08:00
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:
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -476,7 +476,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||
|
||||
public void SendLandUpdateToAvatarsOverMe(bool snap_selection)
|
||||
{
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence avatar)
|
||||
m_scene.ForEachAvatar(delegate(ScenePresence avatar)
|
||||
{
|
||||
ILandObject over = null;
|
||||
try
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
|
||||
|
||||
SceneObjectGroup grp = part.ParentGroup;
|
||||
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
|
||||
m_scene.ForEachAvatar(delegate(ScenePresence sp)
|
||||
{
|
||||
double dis = Util.GetDistanceTo(sp.AbsolutePosition, position);
|
||||
if (dis > 100.0) // Max audio distance
|
||||
@@ -119,7 +119,7 @@ namespace OpenSim.Region.CoreModules.World.Sound
|
||||
}
|
||||
}
|
||||
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
|
||||
m_scene.ForEachAvatar(delegate(ScenePresence sp)
|
||||
{
|
||||
double dis = Util.GetDistanceTo(sp.AbsolutePosition, position);
|
||||
if (dis > 100.0) // Max audio distance
|
||||
|
||||
@@ -488,9 +488,9 @@ namespace OpenSim.Region.CoreModules
|
||||
|
||||
private void SunUpdateToAllClients()
|
||||
{
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
|
||||
m_scene.ForEachRootClient(delegate(IClientAPI client)
|
||||
{
|
||||
SunToClient(sp.ControllingClient);
|
||||
SunToClient(client);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -435,9 +435,9 @@ namespace OpenSim.Region.CoreModules
|
||||
m_frameLastUpdateClientArray = m_frame;
|
||||
}
|
||||
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
|
||||
m_scene.ForEachRootClient(delegate(IClientAPI client)
|
||||
{
|
||||
sp.ControllingClient.SendWindData(windSpeeds);
|
||||
client.SendWindData(windSpeeds);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -401,7 +401,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||
}
|
||||
else
|
||||
{
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
|
||||
m_scene.ForEachAvatar(delegate(ScenePresence sp)
|
||||
{
|
||||
// Don't send a green dot for yourself
|
||||
if (sp.UUID != remoteClient.AgentId)
|
||||
@@ -1180,7 +1180,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||
else
|
||||
{
|
||||
OSDArray responsearr = new OSDArray(m_scene.GetRootAgentCount());
|
||||
m_scene.ForEachRootScenePresence(delegate(ScenePresence sp)
|
||||
m_scene.ForEachAvatar(delegate(ScenePresence sp)
|
||||
{
|
||||
OSDMap responsemapdata = new OSDMap();
|
||||
responsemapdata["X"] = OSD.FromInteger((int)(xstart + sp.AbsolutePosition.X));
|
||||
|
||||
Reference in New Issue
Block a user