Removing EntityBase.Rotation

0.6.8-post-fixes
John Hurliman 2009-11-04 16:08:10 -08:00
parent 00130841db
commit ec2ebf2598
4 changed files with 23 additions and 16 deletions

View File

@ -94,14 +94,6 @@ namespace OpenSim.Region.Framework.Scenes
set { m_velocity = value; }
}
protected Quaternion m_rotation = new Quaternion(0f, 0f, 1f, 0f);
public virtual Quaternion Rotation
{
get { return m_rotation; }
set { m_rotation = value; }
}
protected uint m_localId;
public virtual uint LocalId
@ -115,13 +107,7 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary>
public EntityBase()
{
m_uuid = UUID.Zero;
m_pos = Vector3.Zero;
m_velocity = Vector3.Zero;
Rotation = Quaternion.Identity;
m_name = "(basic entity)";
m_rotationalvelocity = Vector3.Zero;
}
/// <summary>

View File

@ -204,6 +204,14 @@ namespace OpenSim.Region.Framework.Scenes
get { return m_parts.Count; }
}
protected Quaternion m_rotation = Quaternion.Identity;
public virtual Quaternion Rotation
{
get { return m_rotation; }
set { m_rotation = value; }
}
public Quaternion GroupRotation
{
get { return m_rootPart.RotationOffset; }

View File

@ -481,6 +481,12 @@ namespace OpenSim.Region.Framework.Scenes
}
}
public Quaternion Rotation
{
get { return m_bodyRot; }
set { m_bodyRot = value; }
}
/// <summary>
/// If this is true, agent doesn't have a representation in this scene.
/// this is an agent 'looking into' this scene from a nearby scene(region)
@ -2256,7 +2262,7 @@ namespace OpenSim.Region.Framework.Scenes
m_perfMonMS = Environment.TickCount;
m_rotation = rotation;
Rotation = rotation;
Vector3 direc = vec * rotation;
direc.Normalize();

View File

@ -384,7 +384,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
m_host.AddScriptLPS(1);
if (World.Entities.ContainsKey(target))
{
World.Entities[target].Rotation = rotation;
EntityBase entity;
if (World.Entities.TryGetValue(target, out entity))
{
if (entity is SceneObjectGroup)
((SceneObjectGroup)entity).Rotation = rotation;
else if (entity is ScenePresence)
((ScenePresence)entity).Rotation = rotation;
}
}
else
{