diff --git a/OpenSim/Region/Environment/Scenes/Entity.cs b/OpenSim/Region/Environment/Scenes/Entity.cs deleted file mode 100644 index 49802acf0b..0000000000 --- a/OpenSim/Region/Environment/Scenes/Entity.cs +++ /dev/null @@ -1,113 +0,0 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -using System; -using libsecondlife; -using OpenSim.Region.Physics.Manager; - -namespace OpenSim.Region.Environment.Scenes -{ - public abstract class Entity : EntityBase //this class (Entity) will be phased out - { - protected PhysicsActor m_physicsActor; - - /// - /// - /// - public override LLVector3 AbsolutePosition - { - get - { - if (m_physicsActor != null) - { - m_pos.X = m_physicsActor.Position.X; - m_pos.Y = m_physicsActor.Position.Y; - m_pos.Z = m_physicsActor.Position.Z; - } - - return m_pos; - } - set - { - if (m_physicsActor != null) - { - try - { - lock (m_scene.SyncRoot) - { - m_physicsActor.Position = new PhysicsVector(value.X, value.Y, value.Z); - } - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - } - - m_pos = value; - } - } - - - /// - /// - /// - public override LLVector3 Velocity - { - get - { - if (m_physicsActor != null) - { - m_velocity.X = m_physicsActor.Velocity.X; - m_velocity.Y = m_physicsActor.Velocity.Y; - m_velocity.Z = m_physicsActor.Velocity.Z; - } - - return m_velocity; - } - set - { - if (m_physicsActor != null) - { - try - { - lock (m_scene.SyncRoot) - { - m_physicsActor.Velocity = new PhysicsVector(value.X, value.Y, value.Z); - } - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - } - - m_velocity = value; - } - } - } -} \ No newline at end of file diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index c75136fef2..c0b9a35d97 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -38,7 +38,7 @@ using OpenSim.Region.Physics.Manager; namespace OpenSim.Region.Environment.Scenes { - public partial class ScenePresence : Entity + public partial class ScenePresence : EntityBase { public static AvatarAnimations Animations; public static byte[] DefaultTexture; @@ -132,11 +132,81 @@ namespace OpenSim.Region.Environment.Scenes } private readonly IClientAPI m_controllingClient; + protected PhysicsActor m_physicsActor; + public IClientAPI _ControllingClient { get { return m_controllingClient; } } + public LLVector3 AbsolutePosition + { + get + { + if (m_physicsActor != null) + { + m_pos.X = m_physicsActor.Position.X; + m_pos.Y = m_physicsActor.Position.Y; + m_pos.Z = m_physicsActor.Position.Z; + } + + return m_pos; + } + set + { + if (m_physicsActor != null) + { + try + { + lock (m_scene.SyncRoot) + { + m_physicsActor.Position = new PhysicsVector(value.X, value.Y, value.Z); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + + m_pos = value; + } + } + + public LLVector3 Velocity + { + get + { + if (m_physicsActor != null) + { + m_velocity.X = m_physicsActor.Velocity.X; + m_velocity.Y = m_physicsActor.Velocity.Y; + m_velocity.Z = m_physicsActor.Velocity.Z; + } + + return m_velocity; + } + set + { + if (m_physicsActor != null) + { + try + { + lock (m_scene.SyncRoot) + { + m_physicsActor.Velocity = new PhysicsVector(value.X, value.Y, value.Z); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + + m_velocity = value; + } + } + #endregion #region Constructor(s)