diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 1c6efd2..1a73e78 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2566,6 +2566,30 @@ namespace OpenSim.Region.Environment.Scenes | |||
2566 | } | 2566 | } |
2567 | } | 2567 | } |
2568 | } | 2568 | } |
2569 | |||
2570 | /// <summary> | ||
2571 | /// Delete this object from the scene. | ||
2572 | /// </summary> | ||
2573 | /// <param name="group"></param> | ||
2574 | public void DeleteSceneObjectGroup(SceneObjectGroup group) | ||
2575 | { | ||
2576 | SceneObjectPart rootPart = (group).GetChildPart(group.UUID); | ||
2577 | if (rootPart.PhysActor != null) | ||
2578 | { | ||
2579 | PhysicsScene.RemovePrim(rootPart.PhysActor); | ||
2580 | rootPart.PhysActor = null; | ||
2581 | } | ||
2582 | |||
2583 | m_storageManager.DataStore.RemoveObject(group.UUID, m_regInfo.RegionID); | ||
2584 | group.DeleteGroup(); | ||
2585 | |||
2586 | lock (Entities) | ||
2587 | { | ||
2588 | Entities.Remove(group.UUID); | ||
2589 | m_innerScene.RemoveAPrimCount(); | ||
2590 | } | ||
2591 | group.DeleteParts(); | ||
2592 | } | ||
2569 | 2593 | ||
2570 | /// <summary> | 2594 | /// <summary> |
2571 | /// | 2595 | /// |