aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/InnerScene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs21
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index 65fa544..869111c 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -358,6 +358,24 @@ namespace OpenSim.Region.Environment.Scenes
358 m_activeScripts += number; 358 m_activeScripts += number;
359 } 359 }
360 360
361 protected internal void DropObject(uint objectLocalID, IClientAPI remoteClient)
362 {
363 List<EntityBase> EntityList = GetEntities();
364
365 foreach (EntityBase obj in EntityList)
366 {
367 if (obj is SceneObjectGroup)
368 {
369 if (((SceneObjectGroup)obj).LocalId == objectLocalID)
370 {
371 SceneObjectGroup group = (SceneObjectGroup)obj;
372
373 m_parentScene.DetachSingleAttachmentToGround(group.UUID,remoteClient);
374 }
375 }
376 }
377 }
378
361 protected internal void DetachObject(uint objectLocalID, IClientAPI remoteClient) 379 protected internal void DetachObject(uint objectLocalID, IClientAPI remoteClient)
362 { 380 {
363 List<EntityBase> EntityList = GetEntities(); 381 List<EntityBase> EntityList = GetEntities();
@@ -441,10 +459,11 @@ namespace OpenSim.Region.Environment.Scenes
441 (uint)(PermissionMask.Copy | PermissionMask.Move | PermissionMask.Modify | PermissionMask.Transfer), 459 (uint)(PermissionMask.Copy | PermissionMask.Move | PermissionMask.Modify | PermissionMask.Transfer),
442 (uint)(PermissionMask.Copy | PermissionMask.Move | PermissionMask.Modify | PermissionMask.Transfer), 460 (uint)(PermissionMask.Copy | PermissionMask.Move | PermissionMask.Modify | PermissionMask.Transfer),
443 ItemFlags, false, false, remoteClient.AgentId, true); 461 ItemFlags, false, false, remoteClient.AgentId, true);
444 objatt.SetAttachmentPoint(Convert.ToByte(AttachmentPt));
445 462
446 if (objatt != null) 463 if (objatt != null)
447 { 464 {
465 objatt.SetAttachmentPoint(Convert.ToByte(AttachmentPt));
466
448 AttachObject(remoteClient, objatt.LocalId, AttachmentPt, Quaternion.Identity, objatt.AbsolutePosition); 467 AttachObject(remoteClient, objatt.LocalId, AttachmentPt, Quaternion.Identity, objatt.AbsolutePosition);
449 objatt.ScheduleGroupForFullUpdate(); 468 objatt.ScheduleGroupForFullUpdate();
450 } 469 }