diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 16 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 15 |
3 files changed, 30 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index d18fffd..a2016da 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2131,7 +2131,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2131 | if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) | 2131 | if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) |
2132 | sourcePart.Inventory.RemoveInventoryItem(item.ItemID); | 2132 | sourcePart.Inventory.RemoveInventoryItem(item.ItemID); |
2133 | } | 2133 | } |
2134 | 2134 | ||
2135 | group.RezzingObjectID = sourcePart.UUID; | ||
2135 | AddNewSceneObject(group, true, pos, rot, vel); | 2136 | AddNewSceneObject(group, true, pos, rot, vel); |
2136 | 2137 | ||
2137 | // We can only call this after adding the scene object, since the scene object references the scene | 2138 | // We can only call this after adding the scene object, since the scene object references the scene |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index eb4ba41..c77457c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -5421,5 +5421,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
5421 | m_SpawnPoint = 1; | 5421 | m_SpawnPoint = 1; |
5422 | return m_SpawnPoint - 1; | 5422 | return m_SpawnPoint - 1; |
5423 | } | 5423 | } |
5424 | |||
5425 | // Wrappers to get physics modules retrieve assets. Has to be done this way | ||
5426 | // because we can't assign the asset service to physics directly - at the | ||
5427 | // time physics are instantiated it's not registered but it will be by | ||
5428 | // the time the first prim exists. | ||
5429 | public void PhysicsRequestAsset(UUID assetID, AssetReceivedDelegate callback) | ||
5430 | { | ||
5431 | AssetService.Get(assetID.ToString(), callback, PhysicsAssetReceived); | ||
5432 | } | ||
5433 | |||
5434 | private void PhysicsAssetReceived(string id, Object sender, AssetBase asset) | ||
5435 | { | ||
5436 | AssetReceivedDelegate callback = (AssetReceivedDelegate)sender; | ||
5437 | |||
5438 | callback(asset); | ||
5439 | } | ||
5424 | } | 5440 | } |
5425 | } | 5441 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 52469a2..13cc5cd 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.ComponentModel; | ||
29 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
30 | using System.Drawing; | 31 | using System.Drawing; |
31 | using System.IO; | 32 | using System.IO; |
@@ -611,6 +612,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
611 | public UUID FromItemID { get; set; } | 612 | public UUID FromItemID { get; set; } |
612 | 613 | ||
613 | /// <summary> | 614 | /// <summary> |
615 | /// Refers to the SceneObjectPart.UUID property of the object that this object was rezzed from, if applicable. | ||
616 | /// </summary> | ||
617 | /// <remarks> | ||
618 | /// If not applicable will be UUID.Zero | ||
619 | /// </remarks> | ||
620 | public UUID RezzingObjectID { get; set; } | ||
621 | |||
622 | /// <summary> | ||
614 | /// The folder ID that this object was rezzed from, if applicable. | 623 | /// The folder ID that this object was rezzed from, if applicable. |
615 | /// </summary> | 624 | /// </summary> |
616 | /// <remarks> | 625 | /// <remarks> |
@@ -633,6 +642,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
633 | /// </summary> | 642 | /// </summary> |
634 | public SceneObjectGroup() | 643 | public SceneObjectGroup() |
635 | { | 644 | { |
645 | RezzingObjectID = UUID.Zero; | ||
636 | } | 646 | } |
637 | 647 | ||
638 | /// <summary> | 648 | /// <summary> |
@@ -640,7 +650,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
640 | /// The original SceneObjectPart will be used rather than a copy, preserving | 650 | /// The original SceneObjectPart will be used rather than a copy, preserving |
641 | /// its existing localID and UUID. | 651 | /// its existing localID and UUID. |
642 | /// </summary> | 652 | /// </summary> |
643 | public SceneObjectGroup(SceneObjectPart part) | 653 | public SceneObjectGroup(SceneObjectPart part) : this() |
644 | { | 654 | { |
645 | SetRootPart(part); | 655 | SetRootPart(part); |
646 | } | 656 | } |
@@ -648,9 +658,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
648 | /// <summary> | 658 | /// <summary> |
649 | /// Constructor. This object is added to the scene later via AttachToScene() | 659 | /// Constructor. This object is added to the scene later via AttachToScene() |
650 | /// </summary> | 660 | /// </summary> |
651 | public SceneObjectGroup(UUID ownerID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) | 661 | public SceneObjectGroup(UUID ownerID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) :this(new SceneObjectPart(ownerID, shape, pos, rot, Vector3.Zero)) |
652 | { | 662 | { |
653 | SetRootPart(new SceneObjectPart(ownerID, shape, pos, rot, Vector3.Zero)); | ||
654 | } | 663 | } |
655 | 664 | ||
656 | /// <summary> | 665 | /// <summary> |