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