From 264eeffd0294d27fd1329a27c84c8b61e5fb0993 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 18 Oct 2008 07:27:39 +0000 Subject: Fix thingd so that autoreturn also works when the user is not in the sim. Also add experimental distance ordering for prims --- OpenSim/Region/Environment/Scenes/ScenePresence.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 4517d11..2caeb14 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -580,7 +580,13 @@ namespace OpenSim.Region.Environment.Scenes { m_pendingObjects = new Queue(); - foreach (EntityBase e in m_scene.Entities.Values) + List ents = new List(m_scene.Entities.Values); + ents.Sort(delegate(EntityBase a, EntityBase b) + { + return Vector3.Distance(AbsolutePosition, a.AbsolutePosition).CompareTo(Vector3.Distance(AbsolutePosition, b.AbsolutePosition)); + }); + + foreach (EntityBase e in ents) if (e is SceneObjectGroup) m_pendingObjects.Enqueue((SceneObjectGroup)e); } -- cgit v1.1