aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorMelanie2013-01-23 19:31:27 +0000
committerMelanie2013-01-23 19:31:27 +0000
commitfc1c77b42d6e35ecb6ad371484f355a3430018b1 (patch)
treee3c5fed0229a21902aa85a80b587e98fe397ac6c /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
parentMerge branch 'master' into careminster (diff)
parentRemove the return value from llGiveMoney (it was a LSL extension of OpenSim) and (diff)
downloadopensim-SC-fc1c77b42d6e35ecb6ad371484f355a3430018b1.zip
opensim-SC-fc1c77b42d6e35ecb6ad371484f355a3430018b1.tar.gz
opensim-SC-fc1c77b42d6e35ecb6ad371484f355a3430018b1.tar.bz2
opensim-SC-fc1c77b42d6e35ecb6ad371484f355a3430018b1.tar.xz
Merge branch 'avination' into careminster
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs22
1 files changed, 18 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 9c6a94b..0f5d116 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -79,14 +79,14 @@ namespace OpenSim.Region.Framework.Scenes
79 object_rez = 4194304 79 object_rez = 4194304
80 } 80 }
81 81
82 struct scriptPosTarget 82 public struct scriptPosTarget
83 { 83 {
84 public Vector3 targetPos; 84 public Vector3 targetPos;
85 public float tolerance; 85 public float tolerance;
86 public uint handle; 86 public uint handle;
87 } 87 }
88 88
89 struct scriptRotTarget 89 public struct scriptRotTarget
90 { 90 {
91 public Quaternion targetRot; 91 public Quaternion targetRot;
92 public float tolerance; 92 public float tolerance;
@@ -329,8 +329,18 @@ namespace OpenSim.Region.Framework.Scenes
329 protected SceneObjectPart m_rootPart; 329 protected SceneObjectPart m_rootPart;
330 // private Dictionary<UUID, scriptEvents> m_scriptEvents = new Dictionary<UUID, scriptEvents>(); 330 // private Dictionary<UUID, scriptEvents> m_scriptEvents = new Dictionary<UUID, scriptEvents>();
331 331
332 private Dictionary<uint, scriptPosTarget> m_targets = new Dictionary<uint, scriptPosTarget>(); 332 private SortedDictionary<uint, scriptPosTarget> m_targets = new SortedDictionary<uint, scriptPosTarget>();
333 private Dictionary<uint, scriptRotTarget> m_rotTargets = new Dictionary<uint, scriptRotTarget>(); 333 private SortedDictionary<uint, scriptRotTarget> m_rotTargets = new SortedDictionary<uint, scriptRotTarget>();
334
335 public SortedDictionary<uint, scriptPosTarget> AtTargets
336 {
337 get { return m_targets; }
338 }
339
340 public SortedDictionary<uint, scriptRotTarget> RotTargets
341 {
342 get { return m_rotTargets; }
343 }
334 344
335 private bool m_scriptListens_atTarget; 345 private bool m_scriptListens_atTarget;
336 private bool m_scriptListens_notAtTarget; 346 private bool m_scriptListens_notAtTarget;
@@ -4141,6 +4151,8 @@ namespace OpenSim.Region.Framework.Scenes
4141 waypoint.handle = handle; 4151 waypoint.handle = handle;
4142 lock (m_rotTargets) 4152 lock (m_rotTargets)
4143 { 4153 {
4154 if (m_rotTargets.Count >= 8)
4155 m_rotTargets.Remove(m_rotTargets.ElementAt(0).Key);
4144 m_rotTargets.Add(handle, waypoint); 4156 m_rotTargets.Add(handle, waypoint);
4145 } 4157 }
4146 m_scene.AddGroupTarget(this); 4158 m_scene.AddGroupTarget(this);
@@ -4166,6 +4178,8 @@ namespace OpenSim.Region.Framework.Scenes
4166 waypoint.handle = handle; 4178 waypoint.handle = handle;
4167 lock (m_targets) 4179 lock (m_targets)
4168 { 4180 {
4181 if (m_targets.Count >= 8)
4182 m_targets.Remove(m_targets.ElementAt(0).Key);
4169 m_targets.Add(handle, waypoint); 4183 m_targets.Add(handle, waypoint);
4170 } 4184 }
4171 m_scene.AddGroupTarget(this); 4185 m_scene.AddGroupTarget(this);