From 47829849d99e1ec6e11ac26e1f892cbaf94d5503 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Mon, 24 Nov 2008 14:45:05 +0000 Subject: * Swaps Scene.Entities Dictionary for EntityManager. * Important Changes: Scene.Entities is now IEnumerable directly. You do not need to use Entities.Values, you can Enumerate on .Entities directly. (So 'foreach Scene.Entities' vs 'foreach Scene.Entities.Values'). * Locks: Entities maintains it's own internal locking states. This means you do not need to lock entities anymore. I'll be going through and removing locks on it systematically. --- OpenSim/Region/Environment/Scenes/Scene.cs | 12 +++++++++--- 1 file changed, 9 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 d2e797a..55e8634 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -244,6 +244,7 @@ namespace OpenSim.Region.Environment.Scenes // set { m_sceneGraph.SceneObjects = value; } // } + /** /// /// The dictionary of all entities in this scene. The contents of this dictionary may be changed at any time. /// If you wish to add or remove entities, please use the appropriate method for that entity rather than @@ -257,6 +258,11 @@ namespace OpenSim.Region.Environment.Scenes get { return m_sceneGraph.Entities; } set { m_sceneGraph.Entities = value; } } + */ + public EntityManager Entities + { + get { return m_sceneGraph.Entities; } + } public Dictionary m_restorePresences { @@ -605,7 +611,7 @@ namespace OpenSim.Region.Environment.Scenes m_log.Info("Stopping all Scripts in Scene"); lock (Entities) { - foreach (EntityBase ent in Entities.Values) + foreach (EntityBase ent in Entities) { if (ent is SceneObjectGroup) { @@ -619,7 +625,7 @@ namespace OpenSim.Region.Environment.Scenes m_log.Info("Starting all Scripts in Scene"); lock (Entities) { - foreach (EntityBase ent in Entities.Values) + foreach (EntityBase ent in Entities) { if (ent is SceneObjectGroup) { @@ -1857,7 +1863,7 @@ namespace OpenSim.Region.Environment.Scenes { lock (Entities) { - ICollection entities = new List(Entities.Values); + ICollection entities = new List(Entities); foreach (EntityBase e in entities) { -- cgit v1.1