From 34043cd35143a25fb48412026b3a6ccb2c030255 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Fri, 21 Sep 2007 06:00:34 +0000
Subject: * Slowly but surely working my way towards Regionality...
---
OpenSim/Region/Environment/Scenes/Scene.cs | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
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
updateLock.ReleaseMutex();
}
+ ///
+ /// Perform delegate action on all clients subscribing to updates from this region.
+ ///
+ ///
internal void Broadcast(Action whatToDo)
{
m_region.Broadcast(whatToDo);
@@ -775,7 +779,6 @@ namespace OpenSim.Region.Environment.Scenes
client.SendKillObject(avatar.RegionHandle, avatar.LocalId);
});
-
ForEachScenePresence(
delegate(ScenePresence presence)
{
@@ -898,12 +901,20 @@ namespace OpenSim.Region.Environment.Scenes
public void SendKillObject(uint localID)
{
- ForEachScenePresence(delegate(ScenePresence presence)
+ Broadcast(delegate(IClientAPI client)
{
- presence.ControllingClient.SendKillObject(m_regionHandle, localID);
+ client.SendKillObject(m_regionHandle, localID);
});
}
+ public void NotifyMyCoarseLocationChange()
+ {
+ ForEachScenePresence(delegate(ScenePresence presence)
+ {
+ presence.CoarseLocationChange();
+ });
+ }
+
public void SendAllSceneObjectsToClient(ScenePresence presence)
{
foreach (EntityBase ent in Entities.Values)
--
cgit v1.1