diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObject.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObject.cs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObject.cs b/OpenSim/Region/Environment/Scenes/SceneObject.cs index 00df447..2c55a7d 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObject.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObject.cs | |||
@@ -41,7 +41,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
41 | { | 41 | { |
42 | private System.Text.Encoding enc = System.Text.Encoding.ASCII; | 42 | private System.Text.Encoding enc = System.Text.Encoding.ASCII; |
43 | private Dictionary<LLUUID, Primitive> ChildPrimitives = new Dictionary<LLUUID, Primitive>(); //list of all primitive id's that are part of this group | 43 | private Dictionary<LLUUID, Primitive> ChildPrimitives = new Dictionary<LLUUID, Primitive>(); //list of all primitive id's that are part of this group |
44 | protected Primitive rootPrimitive; | 44 | public Primitive rootPrimitive; |
45 | private Scene m_world; | 45 | private Scene m_world; |
46 | protected ulong m_regionHandle; | 46 | protected ulong m_regionHandle; |
47 | 47 | ||
@@ -99,6 +99,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
99 | 99 | ||
100 | } | 100 | } |
101 | 101 | ||
102 | |||
103 | /// <summary> | ||
104 | /// | ||
105 | /// </summary> | ||
106 | /// <param name="primObject"></param> | ||
107 | public void AddNewChildPrims(SceneObject primObject) | ||
108 | { | ||
109 | this.rootPrimitive.AddToChildren(primObject); | ||
110 | } | ||
111 | |||
102 | /// <summary> | 112 | /// <summary> |
103 | /// | 113 | /// |
104 | /// </summary> | 114 | /// </summary> |
@@ -145,6 +155,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
145 | public void GrapMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient) | 155 | public void GrapMovement(LLVector3 offset, LLVector3 pos, IClientAPI remoteClient) |
146 | { | 156 | { |
147 | this.Pos = pos; | 157 | this.Pos = pos; |
158 | this.rootPrimitive.Pos = pos; | ||
148 | this.rootPrimitive.SendTerseUpdateForAllChildren(remoteClient); | 159 | this.rootPrimitive.SendTerseUpdateForAllChildren(remoteClient); |
149 | } | 160 | } |
150 | 161 | ||
@@ -161,17 +172,17 @@ namespace OpenSim.Region.Environment.Scenes | |||
161 | proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); | 172 | proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); |
162 | proper.ObjectData[0].ItemID = LLUUID.Zero; | 173 | proper.ObjectData[0].ItemID = LLUUID.Zero; |
163 | proper.ObjectData[0].CreationDate = (ulong)this.rootPrimitive.CreationDate; | 174 | proper.ObjectData[0].CreationDate = (ulong)this.rootPrimitive.CreationDate; |
164 | proper.ObjectData[0].CreatorID = this.rootPrimitive.OwnerID; | 175 | proper.ObjectData[0].CreatorID = this.rootPrimitive.CreatorID; |
165 | proper.ObjectData[0].FolderID = LLUUID.Zero; | 176 | proper.ObjectData[0].FolderID = LLUUID.Zero; |
166 | proper.ObjectData[0].FromTaskID = LLUUID.Zero; | 177 | proper.ObjectData[0].FromTaskID = LLUUID.Zero; |
167 | proper.ObjectData[0].GroupID = LLUUID.Zero; | 178 | proper.ObjectData[0].GroupID = LLUUID.Zero; |
168 | proper.ObjectData[0].InventorySerial = 0; | 179 | proper.ObjectData[0].InventorySerial = 0; |
169 | proper.ObjectData[0].LastOwnerID = LLUUID.Zero; | 180 | proper.ObjectData[0].LastOwnerID = this.rootPrimitive.LastOwnerID; |
170 | proper.ObjectData[0].ObjectID = this.rootUUID; | 181 | proper.ObjectData[0].ObjectID = this.rootUUID; |
171 | proper.ObjectData[0].OwnerID = this.rootPrimitive.OwnerID; | 182 | proper.ObjectData[0].OwnerID = this.rootPrimitive.OwnerID; |
172 | proper.ObjectData[0].TouchName = new byte[0]; | 183 | proper.ObjectData[0].TouchName = enc.GetBytes(this.rootPrimitive.TouchName + "\0"); |
173 | proper.ObjectData[0].TextureID = new byte[0]; | 184 | proper.ObjectData[0].TextureID = new byte[0]; |
174 | proper.ObjectData[0].SitName = new byte[0]; | 185 | proper.ObjectData[0].SitName = enc.GetBytes(this.rootPrimitive.SitName +"\0") ; |
175 | proper.ObjectData[0].Name = enc.GetBytes(this.rootPrimitive.Name +"\0"); | 186 | proper.ObjectData[0].Name = enc.GetBytes(this.rootPrimitive.Name +"\0"); |
176 | proper.ObjectData[0].Description = enc.GetBytes(this.rootPrimitive.Description +"\0"); | 187 | proper.ObjectData[0].Description = enc.GetBytes(this.rootPrimitive.Description +"\0"); |
177 | proper.ObjectData[0].OwnerMask = this.rootPrimitive.OwnerMask; | 188 | proper.ObjectData[0].OwnerMask = this.rootPrimitive.OwnerMask; |