mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
* Added AddToPhysicalScene and RemoveFromPhysicalScene and added to MakeAvatar and MakeChildAgent respectively
* Removed unused m_child from ClientView
This commit is contained in:
@@ -706,7 +706,9 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
SubscribeToClientEvents(client);
|
||||
m_estateManager.sendRegionHandshake(client);
|
||||
|
||||
CreateAndAddScenePresence(client, child);
|
||||
|
||||
m_LandManager.sendParcelOverlay(client);
|
||||
commsManager.UserProfiles.AddNewUser(client.AgentId);
|
||||
commsManager.TransactionsManager.AddUser(client.AgentId);
|
||||
@@ -791,13 +793,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
MainLog.Instance.Verbose(RegionInfo.RegionName + ": Creating new root agent.");
|
||||
MainLog.Instance.Verbose(RegionInfo.RegionName + ": Adding Physical agent.");
|
||||
|
||||
PhysicsVector pVec =
|
||||
new PhysicsVector(newAvatar.AbsolutePosition.X, newAvatar.AbsolutePosition.Y,
|
||||
newAvatar.AbsolutePosition.Z);
|
||||
lock (m_syncRoot)
|
||||
{
|
||||
newAvatar.PhysActor = phyScene.AddAvatar(pVec);
|
||||
}
|
||||
newAvatar.AddToPhysicalScene( );
|
||||
}
|
||||
|
||||
lock (Entities)
|
||||
|
||||
@@ -265,17 +265,17 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="pos"></param>
|
||||
public void MakeAvatar(LLVector3 pos, bool isFlying)
|
||||
{
|
||||
//this.childAvatar = false;
|
||||
AbsolutePosition = pos;
|
||||
_physActor.Flying = isFlying;
|
||||
newAvatar = true;
|
||||
childAgent = false;
|
||||
|
||||
AbsolutePosition = pos;
|
||||
|
||||
AddToPhysicalScene( );
|
||||
_physActor.Flying = isFlying;
|
||||
|
||||
|
||||
m_scene.SendAllSceneObjectsToClient(this);
|
||||
}
|
||||
|
||||
@@ -283,9 +283,17 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
Velocity = new LLVector3(0, 0, 0);
|
||||
childAgent = true;
|
||||
|
||||
RemoveFromPhysicalScene();
|
||||
|
||||
//this.Pos = new LLVector3(128, 128, 70);
|
||||
}
|
||||
|
||||
private void RemoveFromPhysicalScene()
|
||||
{
|
||||
m_scene.phyScene.RemoveAvatar( this.PhysActor );
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@@ -832,7 +840,18 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
public override void SetText(string text, Vector3 color, double alpha)
|
||||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
throw new Exception("Can't set Text on avatar.");
|
||||
}
|
||||
|
||||
public void AddToPhysicalScene( )
|
||||
{
|
||||
PhysicsScene scene = m_scene.phyScene;
|
||||
|
||||
PhysicsVector pVec =
|
||||
new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y,
|
||||
AbsolutePosition.Z);
|
||||
|
||||
_physActor = scene.AddAvatar(pVec);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user