diff options
author | lbsa71 | 2007-09-21 06:00:34 +0000 |
---|---|---|
committer | lbsa71 | 2007-09-21 06:00:34 +0000 |
commit | 34043cd35143a25fb48412026b3a6ccb2c030255 (patch) | |
tree | 974eea2cab153dc6e3c8616292afa1a152aad38c /OpenSim/Region/Environment/Scenes/Scene.cs | |
parent | * Yeah, I placed Close() in the wrong file. So sue me. (diff) | |
download | opensim-SC-34043cd35143a25fb48412026b3a6ccb2c030255.zip opensim-SC-34043cd35143a25fb48412026b3a6ccb2c030255.tar.gz opensim-SC-34043cd35143a25fb48412026b3a6ccb2c030255.tar.bz2 opensim-SC-34043cd35143a25fb48412026b3a6ccb2c030255.tar.xz |
* Slowly but surely working my way towards Regionality...
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) |