diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 71 |
1 files changed, 68 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index d325240..22b8e4d 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -80,6 +80,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
80 | public event OnTerrainTaintedDelegate OnTerrainTainted; | 80 | public event OnTerrainTaintedDelegate OnTerrainTainted; |
81 | 81 | ||
82 | public delegate void OnTerrainTickDelegate(); | 82 | public delegate void OnTerrainTickDelegate(); |
83 | public delegate void OnTerrainCheckUpdatesDelegate(); | ||
83 | 84 | ||
84 | /// <summary> | 85 | /// <summary> |
85 | /// Triggered if the terrain has been edited | 86 | /// Triggered if the terrain has been edited |
@@ -89,6 +90,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
89 | /// but is used by core solely to update the physics engine. | 90 | /// but is used by core solely to update the physics engine. |
90 | /// </remarks> | 91 | /// </remarks> |
91 | public event OnTerrainTickDelegate OnTerrainTick; | 92 | public event OnTerrainTickDelegate OnTerrainTick; |
93 | public event OnTerrainCheckUpdatesDelegate OnTerrainCheckUpdates; | ||
94 | |||
95 | public delegate void OnTerrainUpdateDelegate(); | ||
96 | |||
97 | public event OnTerrainUpdateDelegate OnTerrainUpdate; | ||
92 | 98 | ||
93 | public delegate void OnBackupDelegate(ISimulationDataService datastore, bool forceBackup); | 99 | public delegate void OnBackupDelegate(ISimulationDataService datastore, bool forceBackup); |
94 | 100 | ||
@@ -339,8 +345,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
339 | /// in <see cref="Scene.SetScriptRunning"/> | 345 | /// in <see cref="Scene.SetScriptRunning"/> |
340 | /// via <see cref="OpenSim.Framework.IClientAPI.OnSetScriptRunning"/>, | 346 | /// via <see cref="OpenSim.Framework.IClientAPI.OnSetScriptRunning"/>, |
341 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.HandleSetScriptRunning"/> | 347 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.HandleSetScriptRunning"/> |
342 | /// XXX: This is only triggered when it is the client that starts the script, not in other situations where | ||
343 | /// a script is started, unlike OnStopScript! | ||
344 | /// </remarks> | 348 | /// </remarks> |
345 | public event StartScript OnStartScript; | 349 | public event StartScript OnStartScript; |
346 | 350 | ||
@@ -354,7 +358,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
354 | /// in <see cref="SceneObjectPartInventory.CreateScriptInstance"/>, | 358 | /// in <see cref="SceneObjectPartInventory.CreateScriptInstance"/>, |
355 | /// <see cref="SceneObjectPartInventory.StopScriptInstance"/>, | 359 | /// <see cref="SceneObjectPartInventory.StopScriptInstance"/>, |
356 | /// <see cref="Scene.SetScriptRunning"/> | 360 | /// <see cref="Scene.SetScriptRunning"/> |
357 | /// XXX: This is triggered when a sciprt is stopped for any reason, unlike OnStartScript! | ||
358 | /// </remarks> | 361 | /// </remarks> |
359 | public event StopScript OnStopScript; | 362 | public event StopScript OnStopScript; |
360 | 363 | ||
@@ -858,6 +861,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
858 | public event ParcelPrimCountTainted OnParcelPrimCountTainted; | 861 | public event ParcelPrimCountTainted OnParcelPrimCountTainted; |
859 | public event GetScriptRunning OnGetScriptRunning; | 862 | public event GetScriptRunning OnGetScriptRunning; |
860 | 863 | ||
864 | public delegate void ThrottleUpdate(ScenePresence scenePresence); | ||
865 | |||
866 | public event ThrottleUpdate OnThrottleUpdate; | ||
867 | |||
861 | /// <summary> | 868 | /// <summary> |
862 | /// RegisterCapsEvent is called by Scene after the Caps object | 869 | /// RegisterCapsEvent is called by Scene after the Caps object |
863 | /// has been instantiated and before it is return to the | 870 | /// has been instantiated and before it is return to the |
@@ -1377,7 +1384,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1377 | { | 1384 | { |
1378 | try | 1385 | try |
1379 | { | 1386 | { |
1387 | // m_log.ErrorFormat("[EVENT MANAGER]: OnRemovePresenceDelegate: {0}",d.Target.ToString()); | ||
1380 | d(agentId); | 1388 | d(agentId); |
1389 | // m_log.ErrorFormat("[EVENT MANAGER]: OnRemovePresenceDelegate done "); | ||
1381 | } | 1390 | } |
1382 | catch (Exception e) | 1391 | catch (Exception e) |
1383 | { | 1392 | { |
@@ -1451,6 +1460,26 @@ namespace OpenSim.Region.Framework.Scenes | |||
1451 | } | 1460 | } |
1452 | } | 1461 | } |
1453 | } | 1462 | } |
1463 | public void TriggerTerrainUpdate() | ||
1464 | { | ||
1465 | OnTerrainUpdateDelegate handlerTerrainUpdate = OnTerrainUpdate; | ||
1466 | if (handlerTerrainUpdate != null) | ||
1467 | { | ||
1468 | foreach (OnTerrainUpdateDelegate d in handlerTerrainUpdate.GetInvocationList()) | ||
1469 | { | ||
1470 | try | ||
1471 | { | ||
1472 | d(); | ||
1473 | } | ||
1474 | catch (Exception e) | ||
1475 | { | ||
1476 | m_log.ErrorFormat( | ||
1477 | "[EVENT MANAGER]: Delegate for TriggerTerrainUpdate failed - continuing. {0} {1}", | ||
1478 | e.Message, e.StackTrace); | ||
1479 | } | ||
1480 | } | ||
1481 | } | ||
1482 | } | ||
1454 | 1483 | ||
1455 | public void TriggerTerrainTick() | 1484 | public void TriggerTerrainTick() |
1456 | { | 1485 | { |
@@ -1473,6 +1502,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
1473 | } | 1502 | } |
1474 | } | 1503 | } |
1475 | 1504 | ||
1505 | public void TriggerTerrainCheckUpdates() | ||
1506 | { | ||
1507 | OnTerrainCheckUpdatesDelegate TerrainCheckUpdates = OnTerrainCheckUpdates; | ||
1508 | if (TerrainCheckUpdates != null) | ||
1509 | { | ||
1510 | foreach (OnTerrainCheckUpdatesDelegate d in TerrainCheckUpdates.GetInvocationList()) | ||
1511 | { | ||
1512 | try | ||
1513 | { | ||
1514 | d(); | ||
1515 | } | ||
1516 | catch (Exception e) | ||
1517 | { | ||
1518 | m_log.ErrorFormat( | ||
1519 | "[EVENT MANAGER]: Delegate for TerrainCheckUpdates failed - continuing. {0} {1}", | ||
1520 | e.Message, e.StackTrace); | ||
1521 | } | ||
1522 | } | ||
1523 | } | ||
1524 | } | ||
1525 | |||
1476 | public void TriggerTerrainTainted() | 1526 | public void TriggerTerrainTainted() |
1477 | { | 1527 | { |
1478 | OnTerrainTaintedDelegate handlerTerrainTainted = OnTerrainTainted; | 1528 | OnTerrainTaintedDelegate handlerTerrainTainted = OnTerrainTainted; |
@@ -1808,6 +1858,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1808 | m_log.ErrorFormat( | 1858 | m_log.ErrorFormat( |
1809 | "[EVENT MANAGER]: Delegate for TriggerRemoveScript failed - continuing. {0} {1}", | 1859 | "[EVENT MANAGER]: Delegate for TriggerRemoveScript failed - continuing. {0} {1}", |
1810 | e.Message, e.StackTrace); | 1860 | e.Message, e.StackTrace); |
1861 | m_log.ErrorFormat(Environment.StackTrace); | ||
1811 | } | 1862 | } |
1812 | } | 1863 | } |
1813 | } | 1864 | } |
@@ -2073,7 +2124,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
2073 | { | 2124 | { |
2074 | try | 2125 | try |
2075 | { | 2126 | { |
2127 | // m_log.ErrorFormat("[EVENT MANAGER]: TriggerClientClosed: {0}", d.Target.ToString()); | ||
2076 | d(ClientID, scene); | 2128 | d(ClientID, scene); |
2129 | // m_log.ErrorFormat("[EVENT MANAGER]: TriggerClientClosed done "); | ||
2130 | |||
2077 | } | 2131 | } |
2078 | catch (Exception e) | 2132 | catch (Exception e) |
2079 | { | 2133 | { |
@@ -3107,6 +3161,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3107 | { | 3161 | { |
3108 | foreach (Action<Scene> d in handler.GetInvocationList()) | 3162 | foreach (Action<Scene> d in handler.GetInvocationList()) |
3109 | { | 3163 | { |
3164 | m_log.InfoFormat("[EVENT MANAGER]: TriggerSceneShuttingDown invoque {0}", d.Method.Name.ToString()); | ||
3110 | try | 3165 | try |
3111 | { | 3166 | { |
3112 | d(s); | 3167 | d(s); |
@@ -3119,6 +3174,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3119 | } | 3174 | } |
3120 | } | 3175 | } |
3121 | } | 3176 | } |
3177 | m_log.Info("[EVENT MANAGER]: TriggerSceneShuttingDown done"); | ||
3122 | } | 3178 | } |
3123 | 3179 | ||
3124 | public void TriggerOnRegionStarted(Scene scene) | 3180 | public void TriggerOnRegionStarted(Scene scene) |
@@ -3310,6 +3366,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
3310 | } | 3366 | } |
3311 | } | 3367 | } |
3312 | 3368 | ||
3369 | public void TriggerThrottleUpdate(ScenePresence scenePresence) | ||
3370 | { | ||
3371 | ThrottleUpdate handler = OnThrottleUpdate; | ||
3372 | if (handler != null) | ||
3373 | { | ||
3374 | handler(scenePresence); | ||
3375 | } | ||
3376 | } | ||
3377 | |||
3313 | // public void TriggerGatherUuids(SceneObjectPart sop, IDictionary<UUID, AssetType> assetUuids) | 3378 | // public void TriggerGatherUuids(SceneObjectPart sop, IDictionary<UUID, AssetType> assetUuids) |
3314 | // { | 3379 | // { |
3315 | // GatherUuids handler = OnGatherUuids; | 3380 | // GatherUuids handler = OnGatherUuids; |