diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index ab52ebf..adf501e 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -367,6 +367,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
367 | updateLock.ReleaseMutex(); | 367 | updateLock.ReleaseMutex(); |
368 | } | 368 | } |
369 | 369 | ||
370 | /// <summary> | ||
371 | /// Perform delegate action on all clients subscribing to updates from this region. | ||
372 | /// </summary> | ||
373 | /// <returns></returns> | ||
370 | internal void Broadcast(Action<IClientAPI> whatToDo) | 374 | internal void Broadcast(Action<IClientAPI> whatToDo) |
371 | { | 375 | { |
372 | m_region.Broadcast(whatToDo); | 376 | m_region.Broadcast(whatToDo); |
@@ -775,7 +779,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
775 | client.SendKillObject(avatar.RegionHandle, avatar.LocalId); | 779 | client.SendKillObject(avatar.RegionHandle, avatar.LocalId); |
776 | }); | 780 | }); |
777 | 781 | ||
778 | |||
779 | ForEachScenePresence( | 782 | ForEachScenePresence( |
780 | delegate(ScenePresence presence) | 783 | delegate(ScenePresence presence) |
781 | { | 784 | { |
@@ -898,12 +901,20 @@ namespace OpenSim.Region.Environment.Scenes | |||
898 | 901 | ||
899 | public void SendKillObject(uint localID) | 902 | public void SendKillObject(uint localID) |
900 | { | 903 | { |
901 | ForEachScenePresence(delegate(ScenePresence presence) | 904 | Broadcast(delegate(IClientAPI client) |
902 | { | 905 | { |
903 | presence.ControllingClient.SendKillObject(m_regionHandle, localID); | 906 | client.SendKillObject(m_regionHandle, localID); |
904 | }); | 907 | }); |
905 | } | 908 | } |
906 | 909 | ||
910 | public void NotifyMyCoarseLocationChange() | ||
911 | { | ||
912 | ForEachScenePresence(delegate(ScenePresence presence) | ||
913 | { | ||
914 | presence.CoarseLocationChange(); | ||
915 | }); | ||
916 | } | ||
917 | |||
907 | public void SendAllSceneObjectsToClient(ScenePresence presence) | 918 | public void SendAllSceneObjectsToClient(ScenePresence presence) |
908 | { | 919 | { |
909 | foreach (EntityBase ent in Entities.Values) | 920 | foreach (EntityBase ent in Entities.Values) |