diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 7cb3811..eee5960 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -217,6 +217,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
217 | /// </remarks> | 217 | /// </remarks> |
218 | public event NewScript OnNewScript; | 218 | public event NewScript OnNewScript; |
219 | 219 | ||
220 | public delegate void ExtraSettingChangedDelegate(Scene scene, string name, string value); | ||
221 | public event ExtraSettingChangedDelegate OnExtraSettingChanged; | ||
222 | |||
220 | public virtual void TriggerNewScript(UUID clientID, SceneObjectPart part, UUID itemID) | 223 | public virtual void TriggerNewScript(UUID clientID, SceneObjectPart part, UUID itemID) |
221 | { | 224 | { |
222 | NewScript handlerNewScript = OnNewScript; | 225 | NewScript handlerNewScript = OnNewScript; |
@@ -2616,5 +2619,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
2616 | } | 2619 | } |
2617 | } | 2620 | } |
2618 | 2621 | ||
2622 | public void TriggerExtraSettingChanged(Scene scene, string name, string val) | ||
2623 | { | ||
2624 | ExtraSettingChangedDelegate handler = OnExtraSettingChanged; | ||
2625 | |||
2626 | if (handler != null) | ||
2627 | { | ||
2628 | foreach (ExtraSettingChangedDelegate d in handler.GetInvocationList()) | ||
2629 | { | ||
2630 | try | ||
2631 | { | ||
2632 | d(scene, name, val); | ||
2633 | } | ||
2634 | catch (Exception e) | ||
2635 | { | ||
2636 | m_log.ErrorFormat("[EVENT MANAGER]: Delegate for ExtraSettingChanged failed - continuing {0} - {1}", | ||
2637 | e.Message, e.StackTrace); | ||
2638 | } | ||
2639 | } | ||
2640 | } | ||
2641 | } | ||
2619 | } | 2642 | } |
2620 | } | 2643 | } |