diff options
author | Dan Lake | 2011-10-27 01:25:12 -0700 |
---|---|---|
committer | Dan Lake | 2011-10-27 01:25:12 -0700 |
commit | 06577d7299f38c342c9b241c691e647e5329837e (patch) | |
tree | e288b6229d18163507bf9ee6c8aaa23a7568b962 /OpenSim/Region/Framework | |
parent | Added new ForEachRootScenePresence to Scene since almost every delegate passe... (diff) | |
download | opensim-SC-06577d7299f38c342c9b241c691e647e5329837e.zip opensim-SC-06577d7299f38c342c9b241c691e647e5329837e.tar.gz opensim-SC-06577d7299f38c342c9b241c691e647e5329837e.tar.bz2 opensim-SC-06577d7299f38c342c9b241c691e647e5329837e.tar.xz |
Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 53 |
2 files changed, 26 insertions, 36 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index c8ecc9b..3a4f52e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1440,10 +1440,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1440 | if (volume < 0) | 1440 | if (volume < 0) |
1441 | volume = 0; | 1441 | volume = 0; |
1442 | 1442 | ||
1443 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) | 1443 | m_parentGroup.Scene.ForEachRootScenePresence(delegate(ScenePresence sp) |
1444 | { | 1444 | { |
1445 | if (!sp.IsChildAgent) | 1445 | sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); |
1446 | sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); | ||
1447 | }); | 1446 | }); |
1448 | } | 1447 | } |
1449 | 1448 | ||
@@ -2676,10 +2675,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2676 | } | 2675 | } |
2677 | } | 2676 | } |
2678 | 2677 | ||
2679 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) | 2678 | m_parentGroup.Scene.ForEachRootScenePresence(delegate(ScenePresence sp) |
2680 | { | 2679 | { |
2681 | if (sp.IsChildAgent) | ||
2682 | return; | ||
2683 | if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100)) | 2680 | if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100)) |
2684 | sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); | 2681 | sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); |
2685 | }); | 2682 | }); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ee6c708..3834b79 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2598,19 +2598,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2598 | public void SendOtherAgentsAvatarDataToMe() | 2598 | public void SendOtherAgentsAvatarDataToMe() |
2599 | { | 2599 | { |
2600 | int count = 0; | 2600 | int count = 0; |
2601 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 2601 | m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) |
2602 | { | 2602 | { |
2603 | // only send information about root agents | 2603 | // only send information about other root agents |
2604 | if (scenePresence.IsChildAgent) | 2604 | if (scenePresence.UUID == UUID) |
2605 | return; | 2605 | return; |
2606 | |||
2607 | // only send information about other root agents | ||
2608 | if (scenePresence.UUID == UUID) | ||
2609 | return; | ||
2610 | 2606 | ||
2611 | scenePresence.SendAvatarDataToAgent(this); | 2607 | scenePresence.SendAvatarDataToAgent(this); |
2612 | count++; | 2608 | count++; |
2613 | }); | 2609 | }); |
2614 | 2610 | ||
2615 | m_scene.StatsReporter.AddAgentUpdates(count); | 2611 | m_scene.StatsReporter.AddAgentUpdates(count); |
2616 | } | 2612 | } |
@@ -2644,13 +2640,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
2644 | 2640 | ||
2645 | int count = 0; | 2641 | int count = 0; |
2646 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 2642 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) |
2647 | { | 2643 | { |
2648 | if (scenePresence.UUID == UUID) | 2644 | // only send information to other root agents |
2649 | return; | 2645 | if (scenePresence.UUID == UUID) |
2646 | return; | ||
2650 | 2647 | ||
2651 | SendAppearanceToAgent(scenePresence); | 2648 | SendAppearanceToAgent(scenePresence); |
2652 | count++; | 2649 | count++; |
2653 | }); | 2650 | }); |
2654 | 2651 | ||
2655 | m_scene.StatsReporter.AddAgentUpdates(count); | 2652 | m_scene.StatsReporter.AddAgentUpdates(count); |
2656 | } | 2653 | } |
@@ -2664,19 +2661,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2664 | //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); | 2661 | //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); |
2665 | 2662 | ||
2666 | int count = 0; | 2663 | int count = 0; |
2667 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 2664 | m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) |
2668 | { | 2665 | { |
2669 | // only send information about root agents | 2666 | // only send information about other root agents |
2670 | if (scenePresence.IsChildAgent) | 2667 | if (scenePresence.UUID == UUID) |
2671 | return; | 2668 | return; |
2672 | |||
2673 | // only send information about other root agents | ||
2674 | if (scenePresence.UUID == UUID) | ||
2675 | return; | ||
2676 | 2669 | ||
2677 | scenePresence.SendAppearanceToAgent(this); | 2670 | scenePresence.SendAppearanceToAgent(this); |
2678 | count++; | 2671 | count++; |
2679 | }); | 2672 | }); |
2680 | 2673 | ||
2681 | m_scene.StatsReporter.AddAgentUpdates(count); | 2674 | m_scene.StatsReporter.AddAgentUpdates(count); |
2682 | } | 2675 | } |