diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 4f71915fe8..fd35c62cc2 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -401,6 +401,9 @@ namespace OpenSim.Region.Framework.Scenes public delegate void RegionUp(GridRegion region); public event RegionUp OnRegionUp; + public delegate void RegionStarted(Scene scene); + public event RegionStarted OnRegionStarted; + public delegate void LoginsEnabled(string regionName); public event LoginsEnabled OnLoginsEnabled; @@ -2243,6 +2246,27 @@ namespace OpenSim.Region.Framework.Scenes } } + public void TriggerOnRegionStarted(Scene scene) + { + RegionStarted handler = OnRegionStarted; + + if (handler != null) + { + foreach (RegionStarted d in handler.GetInvocationList()) + { + try + { + d(scene); + } + catch (Exception e) + { + m_log.ErrorFormat("[EVENT MANAGER]: Delegate for RegionStarted failed - continuing {0} - {1}", + e.Message, e.StackTrace); + } + } + } + } + public void TriggerLoginsEnabled (string regionName) { LoginsEnabled handler = OnLoginsEnabled; diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0f84da970f..027ec969ca 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1194,6 +1194,7 @@ namespace OpenSim.Region.Framework.Scenes try { + m_eventManager.TriggerOnRegionStarted(this); while (!shuttingdown) Update();