and more work on those classes. Think they are just about ready to begin hooking them up.

afrisby
MW 2007-08-03 14:47:38 +00:00
parent ad21cb2ea8
commit ec5ae36fda
3 changed files with 107 additions and 5 deletions

View File

@ -44,6 +44,14 @@ namespace OpenSim.Region.Environment.Scenes
} }
} }
/// <summary>
///
/// </summary>
public AllNewSceneObjectGroup2()
{
}
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -62,7 +70,70 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public void FlagGroupForFullUpdate() /// <returns></returns>
public new AllNewSceneObjectGroup2 Copy()
{
AllNewSceneObjectGroup2 dupe = (AllNewSceneObjectGroup2) this.MemberwiseClone();
dupe.Pos = new LLVector3(Pos.X, Pos.Y, Pos.Z);
dupe.CopyRootPart(this.m_rootPart);
foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
{
if (part.UUID != this.m_rootPart.UUID)
{
dupe.CopyPart(part);
}
}
return dupe;
}
public void CopyRootPart(AllNewSceneObjectPart2 part)
{
}
public void CopyPart(AllNewSceneObjectPart2 part)
{
}
/// <summary>
///
/// </summary>
public override void Update()
{
foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
{
part.SendScheduledUpdates();
}
}
/// <summary>
///
/// </summary>
public void ScheduleGroupForFullUpdate()
{
foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
{
part.ScheduleFullUpdate();
}
}
/// <summary>
///
/// </summary>
public void ScheduleGroupForTerseUpdate()
{
foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
{
part.ScheduleTerseUpdate();
}
}
/// <summary>
///
/// </summary>
public void ScheduleGroupFullUpdate()
{ {
foreach (AllNewSceneObjectPart2 part in this.m_parts.Values) foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
{ {
@ -73,7 +144,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public void FlagGroupForTerseUpdate() public void SendGroupTerseUpdate()
{ {
foreach (AllNewSceneObjectPart2 part in this.m_parts.Values) foreach (AllNewSceneObjectPart2 part in this.m_parts.Values)
{ {
@ -177,6 +248,7 @@ namespace OpenSim.Region.Environment.Scenes
public void GrapMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient) public void GrapMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient)
{ {
this.Pos = pos; this.Pos = pos;
this.m_rootPart.SendTerseUpdateToALLClients();
} }
/// <summary> /// <summary>

View File

@ -252,6 +252,14 @@ namespace OpenSim.Region.Environment.Scenes
#endregion #endregion
#region Constructors #region Constructors
/// <summary>
///
/// </summary>
public AllNewSceneObjectPart2()
{
}
/// <summary> /// <summary>
/// Create a completely new SceneObjectPart (prim) /// Create a completely new SceneObjectPart (prim)
/// </summary> /// </summary>
@ -315,6 +323,29 @@ namespace OpenSim.Region.Environment.Scenes
} }
#endregion #endregion
#region Copying
/// <summary>
///
/// </summary>
/// <returns></returns>
public AllNewSceneObjectPart2 Copy(Scene scene)
{
AllNewSceneObjectPart2 dupe =(AllNewSceneObjectPart2) this.MemberwiseClone();
dupe.m_Shape = m_Shape.Copy();
dupe.m_regionHandle = m_regionHandle;
uint newLocalID = scene.PrimIDAllocate();
dupe.UUID = LLUUID.Random();
dupe.LocalID = newLocalID;
dupe.OffsetPosition = new LLVector3(OffsetPosition.X, OffsetPosition.Y, OffsetPosition.Z);
dupe.RotationOffset = new LLQuaternion(RotationOffset.X, RotationOffset.Y, RotationOffset.Z, RotationOffset.W);
dupe.Velocity = new LLVector3(0, 0, 0);
dupe.Acceleration = new LLVector3(0, 0, 0);
dupe.AngularVelocity = new LLVector3(0, 0, 0);
dupe.ObjectFlags = this.ObjectFlags;
return dupe;
}
#endregion
#region Update Scheduling #region Update Scheduling
/// <summary> /// <summary>
/// ///
@ -327,7 +358,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
private void ScheduleFullUpdate() public void ScheduleFullUpdate()
{ {
m_updateFlag = 2; m_updateFlag = 2;
} }
@ -335,7 +366,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
private void ScheduleTerseUpdate() public void ScheduleTerseUpdate()
{ {
if (m_updateFlag < 1) if (m_updateFlag < 1)
{ {

View File

@ -582,7 +582,6 @@ namespace OpenSim.Region.Environment.Scenes
client.OnObjectName += PrimName; client.OnObjectName += PrimName;
client.OnLinkObjects += LinkObjects; client.OnLinkObjects += LinkObjects;
client.OnObjectDuplicate += DuplicateObject; client.OnObjectDuplicate += DuplicateObject;
client.OnModifyTerrain += ModifyTerrain;
client.OnParcelPropertiesRequest += new ParcelPropertiesRequest(m_LandManager.handleParcelPropertiesRequest); client.OnParcelPropertiesRequest += new ParcelPropertiesRequest(m_LandManager.handleParcelPropertiesRequest);
client.OnParcelDivideRequest += new ParcelDivideRequest(m_LandManager.handleParcelDivideRequest); client.OnParcelDivideRequest += new ParcelDivideRequest(m_LandManager.handleParcelDivideRequest);