From c9a5d4bc4b087e8ac63d8144f015febbd20feba7 Mon Sep 17 00:00:00 2001 From: MW Date: Fri, 3 Aug 2007 15:04:23 +0000 Subject: Yet another commit related to the SceneObject rewrites. --- .../Environment/Scenes/AllNewSceneObjectGroup2.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs') diff --git a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs index 9d9c97b..22aadf4 100644 --- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs +++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs @@ -67,6 +67,7 @@ namespace OpenSim.Region.Environment.Scenes this.SetPartAsRoot(newPart); } + #region Copying /// /// /// @@ -75,8 +76,11 @@ namespace OpenSim.Region.Environment.Scenes { AllNewSceneObjectGroup2 dupe = (AllNewSceneObjectGroup2) this.MemberwiseClone(); dupe.Pos = new LLVector3(Pos.X, Pos.Y, Pos.Z); - dupe.CopyRootPart(this.m_rootPart); + dupe.m_scene = m_scene; + dupe.m_regionHandle = this.m_regionHandle; + dupe.CopyRootPart(this.m_rootPart); + foreach (AllNewSceneObjectPart2 part in this.m_parts.Values) { if (part.UUID != this.m_rootPart.UUID) @@ -89,13 +93,18 @@ namespace OpenSim.Region.Environment.Scenes public void CopyRootPart(AllNewSceneObjectPart2 part) { - + AllNewSceneObjectPart2 newPart = part.Copy(m_scene); + this.m_parts.Add(newPart.UUID, newPart); + this.SetPartAsRoot(newPart); } public void CopyPart(AllNewSceneObjectPart2 part) { - + AllNewSceneObjectPart2 newPart = part.Copy(m_scene); + this.m_parts.Add(newPart.UUID, newPart); + newPart.ParentID = this.m_rootPart.LocalID; } + #endregion /// /// @@ -133,7 +142,7 @@ namespace OpenSim.Region.Environment.Scenes /// /// /// - public void ScheduleGroupFullUpdate() + public void SendGroupFullUpdate() { foreach (AllNewSceneObjectPart2 part in this.m_parts.Values) { -- cgit v1.1