diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneGraph.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 06bc5cd..81ef54f 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -43,6 +43,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
43 | 43 | ||
44 | public delegate void ObjectDuplicateDelegate(EntityBase original, EntityBase clone); | 44 | public delegate void ObjectDuplicateDelegate(EntityBase original, EntityBase clone); |
45 | 45 | ||
46 | public delegate void AttachToBackupDelegate(SceneObjectGroup sog); | ||
47 | |||
48 | public delegate void DetachFromBackupDelegate(SceneObjectGroup sog); | ||
49 | |||
50 | public delegate void ChangedBackupDelegate(SceneObjectGroup sog); | ||
51 | |||
46 | public delegate void ObjectCreateDelegate(EntityBase obj); | 52 | public delegate void ObjectCreateDelegate(EntityBase obj); |
47 | 53 | ||
48 | public delegate void ObjectDeleteDelegate(EntityBase obj); | 54 | public delegate void ObjectDeleteDelegate(EntityBase obj); |
@@ -61,6 +67,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
61 | private PhysicsCrash handlerPhysicsCrash = null; | 67 | private PhysicsCrash handlerPhysicsCrash = null; |
62 | 68 | ||
63 | public event ObjectDuplicateDelegate OnObjectDuplicate; | 69 | public event ObjectDuplicateDelegate OnObjectDuplicate; |
70 | public event AttachToBackupDelegate OnAttachToBackup; | ||
71 | public event DetachFromBackupDelegate OnDetachFromBackup; | ||
72 | public event ChangedBackupDelegate OnChangeBackup; | ||
64 | public event ObjectCreateDelegate OnObjectCreate; | 73 | public event ObjectCreateDelegate OnObjectCreate; |
65 | public event ObjectDeleteDelegate OnObjectRemove; | 74 | public event ObjectDeleteDelegate OnObjectRemove; |
66 | 75 | ||
@@ -388,10 +397,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
388 | m_numPrim += sceneObject.Children.Count; | 397 | m_numPrim += sceneObject.Children.Count; |
389 | 398 | ||
390 | if (attachToBackup) | 399 | if (attachToBackup) |
400 | { | ||
391 | sceneObject.AttachToBackup(); | 401 | sceneObject.AttachToBackup(); |
402 | } | ||
392 | 403 | ||
393 | if (OnObjectCreate != null) | 404 | if (OnObjectCreate != null) |
405 | { | ||
394 | OnObjectCreate(sceneObject); | 406 | OnObjectCreate(sceneObject); |
407 | } | ||
395 | 408 | ||
396 | lock (m_dictionary_lock) | 409 | lock (m_dictionary_lock) |
397 | { | 410 | { |
@@ -458,6 +471,30 @@ namespace OpenSim.Region.Framework.Scenes | |||
458 | } | 471 | } |
459 | } | 472 | } |
460 | 473 | ||
474 | public void FireAttachToBackup(SceneObjectGroup obj) | ||
475 | { | ||
476 | if (OnAttachToBackup != null) | ||
477 | { | ||
478 | OnAttachToBackup(obj); | ||
479 | } | ||
480 | } | ||
481 | |||
482 | public void FireDetachFromBackup(SceneObjectGroup obj) | ||
483 | { | ||
484 | if (OnDetachFromBackup != null) | ||
485 | { | ||
486 | OnDetachFromBackup(obj); | ||
487 | } | ||
488 | } | ||
489 | |||
490 | public void FireChangeBackup(SceneObjectGroup obj) | ||
491 | { | ||
492 | if (OnChangeBackup != null) | ||
493 | { | ||
494 | OnChangeBackup(obj); | ||
495 | } | ||
496 | } | ||
497 | |||
461 | /// <summary> | 498 | /// <summary> |
462 | /// Process all pending updates | 499 | /// Process all pending updates |
463 | /// </summary> | 500 | /// </summary> |