From 0a084a31e9f96cc007f953b47e3319bde6d834f2 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 4 Feb 2010 23:23:07 +0000 Subject: refactor: chain two ScenePresence constructors together to eliminate common code. No functional changes --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 26 ++++++++++-------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index cd39cab..bcf22c3 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -104,6 +104,8 @@ namespace OpenSim.Region.Framework.Scenes } protected ScenePresenceAnimator m_animator; + protected List m_attachments = new List(); + private Dictionary scriptedcontrols = new Dictionary(); private ScriptControlled IgnoredControls = ScriptControlled.CONTROL_ZERO; private ScriptControlled LastCommands = ScriptControlled.CONTROL_ZERO; @@ -215,9 +217,7 @@ namespace OpenSim.Region.Framework.Scenes // Agent's Draw distance. protected float m_DrawDistance; - protected AvatarAppearance m_appearance; - - protected List m_attachments = new List(); + protected AvatarAppearance m_appearance; // neighbouring regions we have enabled a child agent in // holds the seed cap for the child agent in that region @@ -630,12 +630,16 @@ namespace OpenSim.Region.Framework.Scenes #endregion #region Constructor(s) - - private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) - { - m_animator = new ScenePresenceAnimator(this); + + public ScenePresence() + { m_sendCourseLocationsMethod = SendCoarseLocationsDefault; CreateSceneViewer(); + m_animator = new ScenePresenceAnimator(this); + } + + private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) : this() + { m_rootRegionHandle = reginfo.RegionHandle; m_controllingClient = client; m_firstname = m_controllingClient.FirstName; @@ -659,7 +663,6 @@ namespace OpenSim.Region.Framework.Scenes m_reprioritization_timer.Elapsed += new ElapsedEventHandler(Reprioritize); m_reprioritization_timer.AutoReset = false; - AdjustKnownSeeds(); // TODO: I think, this won't send anything, as we are still a child here... @@ -3321,13 +3324,6 @@ namespace OpenSim.Region.Framework.Scenes m_animator = null; } - public ScenePresence() - { - m_sendCourseLocationsMethod = SendCoarseLocationsDefault; - CreateSceneViewer(); - m_animator = new ScenePresenceAnimator(this); - } - public void AddAttachment(SceneObjectGroup gobj) { lock (m_attachments) -- cgit v1.1 From bf9fc69d017e9179b32cb7fde3374264f5c1ea8d Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 5 Feb 2010 19:34:25 +0000 Subject: minor: log what kind of wearable cannot be found --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index bcf22c3..e960d51 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -3184,8 +3184,7 @@ namespace OpenSim.Region.Framework.Scenes m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; m_physicsActor.OnOutOfBounds += OutOfBoundsCall; // Called for PhysicsActors when there's something wrong m_physicsActor.SubscribeEvents(500); - m_physicsActor.LocalID = LocalId; - + m_physicsActor.LocalID = LocalId; } private void OutOfBoundsCall(Vector3 pos) @@ -3195,7 +3194,7 @@ namespace OpenSim.Region.Framework.Scenes //AddToPhysicalScene(flying); if (ControllingClient != null) - ControllingClient.SendAgentAlertMessage("Physics is having a problem with your avatar. You may not be able to move until you relog.",true); + ControllingClient.SendAgentAlertMessage("Physics is having a problem with your avatar. You may not be able to move until you relog.", true); } // Event called by the physics plugin to tell the avatar about a collision. -- cgit v1.1 From 00947cf2ca7a9315ae1d508507db0c95348e25ec Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 8 Feb 2010 19:02:20 +0000 Subject: Add EventManager.OnIncomingSceneObject event which is triggered by an incoming scene object Add a read-only Attachments property to ScenePresence --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e960d51..6b95624 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -104,6 +104,14 @@ namespace OpenSim.Region.Framework.Scenes } protected ScenePresenceAnimator m_animator; + /// + /// The scene objects attached to this avatar. Do not change this list directly - use methods such as + /// AddAttachment() and RemoveAttachment(). Lock this list when performing any read operations upon it. + /// + public List Attachments + { + get { return m_attachments; } + } protected List m_attachments = new List(); private Dictionary scriptedcontrols = new Dictionary(); @@ -1105,7 +1113,6 @@ namespace OpenSim.Region.Framework.Scenes m_controllingClient.MoveAgentIntoRegion(m_regionInfo, AbsolutePosition, look); SendInitialData(); - } /// -- cgit v1.1