mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
Just committing this because I want my commit to be on the front page of www.opensimulator.org rather than lbsa71's being there.
This commit is contained in:
@@ -16,12 +16,13 @@ namespace OpenSim.Framework.Types
|
||||
Torus,
|
||||
Prism,
|
||||
Scuplted,
|
||||
Cylinder
|
||||
Cylinder,
|
||||
Unknown
|
||||
}
|
||||
|
||||
public class PrimitiveBaseShape
|
||||
{
|
||||
private ShapeType type;
|
||||
private ShapeType type = ShapeType.Unknown;
|
||||
|
||||
public byte PCode;
|
||||
public ushort PathBegin;
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
/// </summary>
|
||||
public override void update()
|
||||
{
|
||||
if (this.updateFlag == 1) // is a new prim just been created/reloaded
|
||||
if (this.updateFlag == 1) // is a new prim just been created/reloaded or has major changes
|
||||
{
|
||||
this.SendFullUpdateToAllClients();
|
||||
this.updateFlag = 0;
|
||||
@@ -151,7 +151,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
this.updateFlag = 1;
|
||||
}
|
||||
|
||||
public void AddToChildren(SceneObject linkObject)
|
||||
public void AddNewChildren(SceneObject linkObject)
|
||||
{
|
||||
// Console.WriteLine("linking new prims " + linkObject.rootLocalID + " to me (" + this.LocalId + ")");
|
||||
//TODO check permissions
|
||||
@@ -159,7 +159,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
linkObject.rootPrimitive.SetNewParent(this, this.m_RootParent);
|
||||
|
||||
this.m_world.DeleteEntity(linkObject.rootUUID);
|
||||
linkObject.rootPrimitive = null;
|
||||
linkObject.DeleteAllChildren();
|
||||
}
|
||||
|
||||
public void SetNewParent(Primitive newParent, SceneObject rootParent)
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
m_regionHandle = regionHandle;
|
||||
m_world = world;
|
||||
this.Pos = addPacket.ObjectData.RayEnd;
|
||||
this.CreateFromPacket(addPacket, ownerID, localID);
|
||||
this.CreateRootFromPacket(addPacket, ownerID, localID);
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
/// <param name="addPacket"></param>
|
||||
/// <param name="agentID"></param>
|
||||
/// <param name="localID"></param>
|
||||
public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID)
|
||||
public void CreateRootFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID)
|
||||
{
|
||||
this.rootPrimitive = new Primitive( this.m_regionHandle, this.m_world, addPacket, agentID, localID, true, this, this);
|
||||
this.children.Add(rootPrimitive);
|
||||
@@ -99,6 +99,15 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public void DeleteAllChildren()
|
||||
{
|
||||
this.children.Clear();
|
||||
this.ChildPrimitives.Clear();
|
||||
this.rootPrimitive = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
@@ -106,7 +115,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
/// <param name="primObject"></param>
|
||||
public void AddNewChildPrims(SceneObject primObject)
|
||||
{
|
||||
this.rootPrimitive.AddToChildren(primObject);
|
||||
this.rootPrimitive.AddNewChildren(primObject);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user