From 266b27267378bf9030f74135ac14af418a37e5ec Mon Sep 17 00:00:00 2001 From: MW Date: Tue, 7 Aug 2007 18:31:20 +0000 Subject: Some more work on new Sceneobject. --- .../Environment/Scenes/AllNewSceneObjectGroup2.cs | 57 ++++++++++++++++++++-- 1 file changed, 53 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 4638d70..86610c0 100644 --- a/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs +++ b/OpenSim/Region/Environment/Scenes/AllNewSceneObjectGroup2.cs @@ -38,6 +38,33 @@ namespace OpenSim.Region.Environment.Scenes get { return new LLVector3(0, 0, 0); } } + public override LLVector3 Pos + { + get { return m_rootPart.GroupPosition; } + set + { + lock (this.m_parts) + { + foreach (AllNewSceneObjectPart2 part in this.m_parts.Values) + { + part.GroupPosition = value; + } + } + } + } + + public override uint LocalId + { + get { return m_rootPart.LocalID; } + set { m_rootPart.LocalID = value; } + } + + public override LLUUID UUID + { + get { return m_rootPart.UUID; } + set { m_rootPart.UUID = value; } + } + /// /// /// @@ -370,7 +397,7 @@ namespace OpenSim.Region.Environment.Scenes /// public void UpdateGroupPosition(LLVector3 pos) { - this.m_pos = pos; + this.Pos = pos; } /// @@ -442,7 +469,7 @@ namespace OpenSim.Region.Environment.Scenes public void UpdateGroupRotation(LLVector3 pos, LLQuaternion rot) { this.m_rootPart.UpdateRotation(rot); - this.m_pos = pos; + this.Pos = pos; } /// @@ -500,8 +527,8 @@ namespace OpenSim.Region.Environment.Scenes private void SetPartAsRoot(AllNewSceneObjectPart2 part) { this.m_rootPart = part; - this.m_uuid = part.UUID; - this.m_localId = part.LocalID; + //this.m_uuid= part.UUID; + // this.m_localId = part.LocalID; } /// @@ -522,6 +549,11 @@ namespace OpenSim.Region.Environment.Scenes return m_scene.RequestAvatarList(); } + /// + /// + /// + /// + /// internal void SendPartFullUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part) { if( m_rootPart == part ) @@ -533,5 +565,22 @@ namespace OpenSim.Region.Environment.Scenes part.SendFullUpdateToClient( remoteClient ); } } + + /// + /// + /// + /// + /// + internal void SendPartTerseUpdate(IClientAPI remoteClient, AllNewSceneObjectPart2 part) + { + if (m_rootPart == part) + { + part.SendTerseUpdateToClient(remoteClient, Pos); + } + else + { + part.SendTerseUpdateToClient(remoteClient); + } + } } } -- cgit v1.1