aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/EventManager.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/EventManager.cs291
1 files changed, 259 insertions, 32 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs
index 4c49b71..97b9482 100644
--- a/OpenSim/Region/Framework/Scenes/EventManager.cs
+++ b/OpenSim/Region/Framework/Scenes/EventManager.cs
@@ -144,7 +144,7 @@ namespace OpenSim.Region.Framework.Scenes
144 /// Triggered when a new presence is added to the scene 144 /// Triggered when a new presence is added to the scene
145 /// </summary> 145 /// </summary>
146 /// <remarks> 146 /// <remarks>
147 /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewClient"/> which is used by both 147 /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewAgent"/> which is used by both
148 /// <see cref="OpenSim.Framework.PresenceType.User">users</see> and <see cref="OpenSim.Framework.PresenceType.Npc">NPCs</see> 148 /// <see cref="OpenSim.Framework.PresenceType.User">users</see> and <see cref="OpenSim.Framework.PresenceType.Npc">NPCs</see>
149 /// </remarks> 149 /// </remarks>
150 public event OnNewPresenceDelegate OnNewPresence; 150 public event OnNewPresenceDelegate OnNewPresence;
@@ -155,7 +155,7 @@ namespace OpenSim.Region.Framework.Scenes
155 /// Triggered when a presence is removed from the scene 155 /// Triggered when a presence is removed from the scene
156 /// </summary> 156 /// </summary>
157 /// <remarks> 157 /// <remarks>
158 /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewClient"/> which is used by both 158 /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewAgent"/> which is used by both
159 /// <see cref="OpenSim.Framework.PresenceType.User">users</see> and <see cref="OpenSim.Framework.PresenceType.Npc">NPCs</see> 159 /// <see cref="OpenSim.Framework.PresenceType.User">users</see> and <see cref="OpenSim.Framework.PresenceType.Npc">NPCs</see>
160 /// 160 ///
161 /// Triggered under per-agent lock. So if you want to perform any long-running operations, please 161 /// Triggered under per-agent lock. So if you want to perform any long-running operations, please
@@ -339,6 +339,8 @@ namespace OpenSim.Region.Framework.Scenes
339 /// in <see cref="Scene.SetScriptRunning"/> 339 /// in <see cref="Scene.SetScriptRunning"/>
340 /// via <see cref="OpenSim.Framework.IClientAPI.OnSetScriptRunning"/>, 340 /// via <see cref="OpenSim.Framework.IClientAPI.OnSetScriptRunning"/>,
341 /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.HandleSetScriptRunning"/> 341 /// 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!
342 /// </remarks> 344 /// </remarks>
343 public event StartScript OnStartScript; 345 public event StartScript OnStartScript;
344 346
@@ -352,6 +354,7 @@ namespace OpenSim.Region.Framework.Scenes
352 /// in <see cref="SceneObjectPartInventory.CreateScriptInstance"/>, 354 /// in <see cref="SceneObjectPartInventory.CreateScriptInstance"/>,
353 /// <see cref="SceneObjectPartInventory.StopScriptInstance"/>, 355 /// <see cref="SceneObjectPartInventory.StopScriptInstance"/>,
354 /// <see cref="Scene.SetScriptRunning"/> 356 /// <see cref="Scene.SetScriptRunning"/>
357 /// XXX: This is triggered when a sciprt is stopped for any reason, unlike OnStartScript!
355 /// </remarks> 358 /// </remarks>
356 public event StopScript OnStopScript; 359 public event StopScript OnStopScript;
357 360
@@ -427,6 +430,9 @@ namespace OpenSim.Region.Framework.Scenes
427 public delegate void IncomingInstantMessage(GridInstantMessage message); 430 public delegate void IncomingInstantMessage(GridInstantMessage message);
428 public event IncomingInstantMessage OnIncomingInstantMessage; 431 public event IncomingInstantMessage OnIncomingInstantMessage;
429 432
433 public delegate void CrossAgentToNewRegion(ScenePresence sp, bool isFlying, GridRegion newRegion);
434 public event CrossAgentToNewRegion OnCrossAgentToNewRegion;
435
430 public event IncomingInstantMessage OnUnhandledInstantMessage; 436 public event IncomingInstantMessage OnUnhandledInstantMessage;
431 437
432 public delegate void ClientClosed(UUID clientID, Scene scene); 438 public delegate void ClientClosed(UUID clientID, Scene scene);
@@ -546,6 +552,20 @@ namespace OpenSim.Region.Framework.Scenes
546 /// </remarks> 552 /// </remarks>
547 public event ScriptControlEvent OnScriptControlEvent; 553 public event ScriptControlEvent OnScriptControlEvent;
548 554
555 public delegate void ScriptMovingStartEvent(uint localID);
556
557 /// <summary>
558 /// TODO: Should be triggered when a physics object starts moving.
559 /// </summary>
560 public event ScriptMovingStartEvent OnScriptMovingStartEvent;
561
562 public delegate void ScriptMovingEndEvent(uint localID);
563
564 /// <summary>
565 /// TODO: Should be triggered when a physics object stops moving.
566 /// </summary>
567 public event ScriptMovingEndEvent OnScriptMovingEndEvent;
568
549 public delegate void ScriptAtTargetEvent(uint localID, uint handle, Vector3 targetpos, Vector3 atpos); 569 public delegate void ScriptAtTargetEvent(uint localID, uint handle, Vector3 targetpos, Vector3 atpos);
550 570
551 /// <summary> 571 /// <summary>
@@ -612,8 +632,8 @@ namespace OpenSim.Region.Framework.Scenes
612 /// Triggered by <see cref="TriggerScriptCollidingStart"/> 632 /// Triggered by <see cref="TriggerScriptCollidingStart"/>
613 /// in <see cref="SceneObjectPart.SendCollisionEvent"/> 633 /// in <see cref="SceneObjectPart.SendCollisionEvent"/>
614 /// via <see cref="SceneObjectPart.PhysicsCollision"/> 634 /// via <see cref="SceneObjectPart.PhysicsCollision"/>
615 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> 635 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.OnCollisionUpdate"/>
616 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> 636 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.SendCollisionUpdate"/>
617 /// </remarks> 637 /// </remarks>
618 public event ScriptColliding OnScriptColliderStart; 638 public event ScriptColliding OnScriptColliderStart;
619 639
@@ -626,8 +646,8 @@ namespace OpenSim.Region.Framework.Scenes
626 /// Triggered by <see cref="TriggerScriptColliding"/> 646 /// Triggered by <see cref="TriggerScriptColliding"/>
627 /// in <see cref="SceneObjectPart.SendCollisionEvent"/> 647 /// in <see cref="SceneObjectPart.SendCollisionEvent"/>
628 /// via <see cref="SceneObjectPart.PhysicsCollision"/> 648 /// via <see cref="SceneObjectPart.PhysicsCollision"/>
629 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> 649 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.OnCollisionUpdate"/>
630 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> 650 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.SendCollisionUpdate"/>
631 /// </remarks> 651 /// </remarks>
632 public event ScriptColliding OnScriptColliding; 652 public event ScriptColliding OnScriptColliding;
633 653
@@ -639,8 +659,8 @@ namespace OpenSim.Region.Framework.Scenes
639 /// Triggered by <see cref="TriggerScriptCollidingEnd"/> 659 /// Triggered by <see cref="TriggerScriptCollidingEnd"/>
640 /// in <see cref="SceneObjectPart.SendCollisionEvent"/> 660 /// in <see cref="SceneObjectPart.SendCollisionEvent"/>
641 /// via <see cref="SceneObjectPart.PhysicsCollision"/> 661 /// via <see cref="SceneObjectPart.PhysicsCollision"/>
642 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> 662 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.OnCollisionUpdate"/>
643 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> 663 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.SendCollisionUpdate"/>
644 /// </remarks> 664 /// </remarks>
645 public event ScriptColliding OnScriptCollidingEnd; 665 public event ScriptColliding OnScriptCollidingEnd;
646 666
@@ -652,8 +672,8 @@ namespace OpenSim.Region.Framework.Scenes
652 /// Triggered by <see cref="TriggerScriptLandCollidingStart"/> 672 /// Triggered by <see cref="TriggerScriptLandCollidingStart"/>
653 /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/> 673 /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/>
654 /// via <see cref="SceneObjectPart.PhysicsCollision"/> 674 /// via <see cref="SceneObjectPart.PhysicsCollision"/>
655 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> 675 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.OnCollisionUpdate"/>
656 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> 676 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.SendCollisionUpdate"/>
657 /// </remarks> 677 /// </remarks>
658 public event ScriptColliding OnScriptLandColliderStart; 678 public event ScriptColliding OnScriptLandColliderStart;
659 679
@@ -665,8 +685,8 @@ namespace OpenSim.Region.Framework.Scenes
665 /// Triggered by <see cref="TriggerScriptLandColliding"/> 685 /// Triggered by <see cref="TriggerScriptLandColliding"/>
666 /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/> 686 /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/>
667 /// via <see cref="SceneObjectPart.PhysicsCollision"/> 687 /// via <see cref="SceneObjectPart.PhysicsCollision"/>
668 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> 688 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.OnCollisionUpdate"/>
669 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> 689 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.SendCollisionUpdate"/>
670 /// </remarks> 690 /// </remarks>
671 public event ScriptColliding OnScriptLandColliding; 691 public event ScriptColliding OnScriptLandColliding;
672 692
@@ -678,8 +698,8 @@ namespace OpenSim.Region.Framework.Scenes
678 /// Triggered by <see cref="TriggerScriptLandCollidingEnd"/> 698 /// Triggered by <see cref="TriggerScriptLandCollidingEnd"/>
679 /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/> 699 /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/>
680 /// via <see cref="SceneObjectPart.PhysicsCollision"/> 700 /// via <see cref="SceneObjectPart.PhysicsCollision"/>
681 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> 701 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.OnCollisionUpdate"/>
682 /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> 702 /// via <see cref="OpenSim.Region.PhysicsModule.SharedBase.PhysicsActor.SendCollisionUpdate"/>
683 /// </remarks> 703 /// </remarks>
684 public event ScriptColliding OnScriptLandColliderEnd; 704 public event ScriptColliding OnScriptLandColliderEnd;
685 705
@@ -725,7 +745,7 @@ namespace OpenSim.Region.Framework.Scenes
725 public event OnIncomingSceneObjectDelegate OnIncomingSceneObject; 745 public event OnIncomingSceneObjectDelegate OnIncomingSceneObject;
726 public delegate void OnIncomingSceneObjectDelegate(SceneObjectGroup so); 746 public delegate void OnIncomingSceneObjectDelegate(SceneObjectGroup so);
727 747
728 public delegate void NewInventoryItemUploadComplete(UUID avatarID, UUID assetID, string name, int userlevel); 748 public delegate void NewInventoryItemUploadComplete(UUID avatarID, AssetType type, UUID assetID, string name, int userlevel);
729 749
730 public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; 750 public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete;
731 751
@@ -751,7 +771,7 @@ namespace OpenSim.Region.Framework.Scenes
751 public event ScriptTimerEvent OnScriptTimerEvent; 771 public event ScriptTimerEvent OnScriptTimerEvent;
752 */ 772 */
753 773
754 public delegate void EstateToolsSunUpdate(ulong regionHandle, bool FixedTime, bool EstateSun, float LindenHour); 774 public delegate void EstateToolsSunUpdate(ulong regionHandle);
755 public delegate void GetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID); 775 public delegate void GetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID);
756 776
757 public event EstateToolsSunUpdate OnEstateToolsSunUpdate; 777 public event EstateToolsSunUpdate OnEstateToolsSunUpdate;
@@ -766,12 +786,20 @@ namespace OpenSim.Region.Framework.Scenes
766 /// <see cref="Scene.doObjectDuplicateOnRay"/> 786 /// <see cref="Scene.doObjectDuplicateOnRay"/>
767 /// </remarks> 787 /// </remarks>
768 public event Action<SceneObjectGroup> OnObjectAddedToScene; 788 public event Action<SceneObjectGroup> OnObjectAddedToScene;
769 789
770 /// <summary> 790 /// <summary>
771 /// Delegate for <see cref="OnObjectBeingRemovedFromScene"/> 791 /// When a client sends a derez request for an object inworld
792 /// but before the object is deleted
772 /// </summary> 793 /// </summary>
773 /// <param name="obj">The object being removed from the scene</param> 794 public event DeRezRequested OnDeRezRequested;
774 public delegate void ObjectBeingRemovedFromScene(SceneObjectGroup obj); 795 /// <summary>
796 /// Triggered when a client sends a derez request for an object inworld
797 /// </summary>
798 /// <param name="remoteClient">The client question (it can be null)</param>
799 /// <param name="obj">The object in question</param>
800 /// <param name="action">The exact derez action</param>
801 /// <returns>Flag indicating whether the object should be deleted from the scene or not</returns>
802 public delegate bool DeRezRequested(IClientAPI remoteClient, List<SceneObjectGroup> objs, DeRezAction action);
775 803
776 /// <summary> 804 /// <summary>
777 /// Triggered when an object is removed from the scene. 805 /// Triggered when an object is removed from the scene.
@@ -781,6 +809,24 @@ namespace OpenSim.Region.Framework.Scenes
781 /// in <see cref="Scene.DeleteSceneObject"/> 809 /// in <see cref="Scene.DeleteSceneObject"/>
782 /// </remarks> 810 /// </remarks>
783 public event ObjectBeingRemovedFromScene OnObjectBeingRemovedFromScene; 811 public event ObjectBeingRemovedFromScene OnObjectBeingRemovedFromScene;
812 /// <summary>
813 /// Delegate for <see cref="OnObjectBeingRemovedFromScene"/>
814 /// </summary>
815 /// <param name="obj">The object being removed from the scene</param>
816 public delegate void ObjectBeingRemovedFromScene(SceneObjectGroup obj);
817
818 /// <summary>
819 /// Triggered when an object is placed into the physical scene (PhysicsActor created).
820 /// </summary>
821 public event Action<SceneObjectPart> OnObjectAddedToPhysicalScene;
822 /// <summary>
823 /// Triggered when an object is removed from the physical scene (PhysicsActor destroyed).
824 /// </summary>
825 /// <remarks>
826 /// Note: this is triggered just before the PhysicsActor is removed from the
827 /// physics engine so the receiver can do any necessary cleanup before its destruction.
828 /// </remarks>
829 public event Action<SceneObjectPart> OnObjectRemovedFromPhysicalScene;
784 830
785 public delegate void NoticeNoLandDataFromStorage(); 831 public delegate void NoticeNoLandDataFromStorage();
786 public event NoticeNoLandDataFromStorage OnNoticeNoLandDataFromStorage; 832 public event NoticeNoLandDataFromStorage OnNoticeNoLandDataFromStorage;
@@ -939,6 +985,8 @@ namespace OpenSim.Region.Framework.Scenes
939 public delegate void RegionStarted(Scene scene); 985 public delegate void RegionStarted(Scene scene);
940 public event RegionStarted OnRegionStarted; 986 public event RegionStarted OnRegionStarted;
941 987
988 public delegate void RegionHeartbeatStart(Scene scene);
989 public event RegionHeartbeatStart OnRegionHeartbeatStart;
942 public delegate void RegionHeartbeatEnd(Scene scene); 990 public delegate void RegionHeartbeatEnd(Scene scene);
943 public event RegionHeartbeatEnd OnRegionHeartbeatEnd; 991 public event RegionHeartbeatEnd OnRegionHeartbeatEnd;
944 992
@@ -989,6 +1037,16 @@ namespace OpenSim.Region.Framework.Scenes
989 /// </remarks> 1037 /// </remarks>
990 public event TeleportFail OnTeleportFail; 1038 public event TeleportFail OnTeleportFail;
991 1039
1040// public delegate void GatherUuids(SceneObjectPart sop, IDictionary<UUID, AssetType> assetUuids);
1041//
1042// /// <summary>
1043// /// Triggered when UUIDs referenced by a scene object are being gathered for archiving, hg transfer, etc.
1044// /// </summary>
1045// /// <remarks>
1046// /// The listener should add references to the IDictionary<UUID, AssetType> as appropriate.
1047// /// </remarks>
1048// public event GatherUuids OnGatherUuids;
1049
992 public class MoneyTransferArgs : EventArgs 1050 public class MoneyTransferArgs : EventArgs
993 { 1051 {
994 public UUID sender; 1052 public UUID sender;
@@ -1060,7 +1118,7 @@ namespace OpenSim.Region.Framework.Scenes
1060 /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.ProcessMoneyTransferRequest"/> 1118 /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.ProcessMoneyTransferRequest"/>
1061 /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.SubscribeToClientGridEvents"/> 1119 /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.SubscribeToClientGridEvents"/>
1062 /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.SubscribeToClientEvents"/> 1120 /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.SubscribeToClientEvents"/>
1063 /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewClient"/> 1121 /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewAgent"/>
1064 /// </remarks> 1122 /// </remarks>
1065 public event MoneyTransferEvent OnMoneyTransfer; 1123 public event MoneyTransferEvent OnMoneyTransfer;
1066 1124
@@ -1476,8 +1534,33 @@ namespace OpenSim.Region.Framework.Scenes
1476 } 1534 }
1477 } 1535 }
1478 } 1536 }
1479 } 1537 }
1480 1538
1539 public bool TriggerDeRezRequested(IClientAPI client, List<SceneObjectGroup> objs, DeRezAction action)
1540 {
1541 bool canDeRez = true;
1542
1543 DeRezRequested handlerDeRezRequested = OnDeRezRequested;
1544 if (handlerDeRezRequested != null)
1545 {
1546 foreach (DeRezRequested d in handlerDeRezRequested.GetInvocationList())
1547 {
1548 try
1549 {
1550 canDeRez &= d(client, objs, action);
1551 }
1552 catch (Exception e)
1553 {
1554 m_log.ErrorFormat(
1555 "[EVENT MANAGER]: Delegate for TriggerDeRezRequested failed - continuing. {0} {1}",
1556 e.Message, e.StackTrace);
1557 }
1558 }
1559 }
1560
1561 return canDeRez;
1562 }
1563
1481 public void TriggerObjectBeingRemovedFromScene(SceneObjectGroup obj) 1564 public void TriggerObjectBeingRemovedFromScene(SceneObjectGroup obj)
1482 { 1565 {
1483 ObjectBeingRemovedFromScene handlerObjectBeingRemovedFromScene = OnObjectBeingRemovedFromScene; 1566 ObjectBeingRemovedFromScene handlerObjectBeingRemovedFromScene = OnObjectBeingRemovedFromScene;
@@ -1499,6 +1582,48 @@ namespace OpenSim.Region.Framework.Scenes
1499 } 1582 }
1500 } 1583 }
1501 1584
1585 public void TriggerObjectAddedToPhysicalScene(SceneObjectPart obj)
1586 {
1587 Action<SceneObjectPart> handler = OnObjectAddedToPhysicalScene;
1588 if (handler != null)
1589 {
1590 foreach (Action<SceneObjectPart> d in handler.GetInvocationList())
1591 {
1592 try
1593 {
1594 d(obj);
1595 }
1596 catch (Exception e)
1597 {
1598 m_log.ErrorFormat(
1599 "[EVENT MANAGER]: Delegate for TriggerObjectAddedToPhysicalScene failed - continuing. {0} {1}",
1600 e.Message, e.StackTrace);
1601 }
1602 }
1603 }
1604 }
1605
1606 public void TriggerObjectRemovedFromPhysicalScene(SceneObjectPart obj)
1607 {
1608 Action<SceneObjectPart> handler = OnObjectRemovedFromPhysicalScene;
1609 if (handler != null)
1610 {
1611 foreach (Action<SceneObjectPart> d in handler.GetInvocationList())
1612 {
1613 try
1614 {
1615 d(obj);
1616 }
1617 catch (Exception e)
1618 {
1619 m_log.ErrorFormat(
1620 "[EVENT MANAGER]: Delegate for TriggerObjectRemovedFromPhysicalScene failed - continuing. {0} {1}",
1621 e.Message, e.StackTrace);
1622 }
1623 }
1624 }
1625 }
1626
1502 public void TriggerShutdown() 1627 public void TriggerShutdown()
1503 { 1628 {
1504 Action handlerShutdown = OnShutdown; 1629 Action handlerShutdown = OnShutdown;
@@ -1876,6 +2001,27 @@ namespace OpenSim.Region.Framework.Scenes
1876 } 2001 }
1877 } 2002 }
1878 2003
2004 public void TriggerCrossAgentToNewRegion(ScenePresence agent, bool isFlying, GridRegion newRegion)
2005 {
2006 CrossAgentToNewRegion handlerCrossAgentToNewRegion = OnCrossAgentToNewRegion;
2007 if (handlerCrossAgentToNewRegion != null)
2008 {
2009 foreach (CrossAgentToNewRegion d in handlerCrossAgentToNewRegion.GetInvocationList())
2010 {
2011 try
2012 {
2013 d(agent, isFlying, newRegion);
2014 }
2015 catch (Exception e)
2016 {
2017 m_log.ErrorFormat(
2018 "[EVENT MANAGER]: Delegate for TriggerCrossAgentToNewRegion failed - continuing. {0} {1}",
2019 e.Message, e.StackTrace);
2020 }
2021 }
2022 }
2023 }
2024
1879 public void TriggerIncomingInstantMessage(GridInstantMessage message) 2025 public void TriggerIncomingInstantMessage(GridInstantMessage message)
1880 { 2026 {
1881 IncomingInstantMessage handlerIncomingInstantMessage = OnIncomingInstantMessage; 2027 IncomingInstantMessage handlerIncomingInstantMessage = OnIncomingInstantMessage;
@@ -2062,7 +2208,7 @@ namespace OpenSim.Region.Framework.Scenes
2062 } 2208 }
2063 } 2209 }
2064 2210
2065 public void TriggerOnNewInventoryItemUploadComplete(UUID agentID, UUID AssetID, String AssetName, int userlevel) 2211 public void TriggerOnNewInventoryItemUploadComplete(UUID agentID, AssetType type, UUID AssetID, String AssetName, int userlevel)
2066 { 2212 {
2067 NewInventoryItemUploadComplete handlerNewInventoryItemUpdateComplete = OnNewInventoryItemUploadComplete; 2213 NewInventoryItemUploadComplete handlerNewInventoryItemUpdateComplete = OnNewInventoryItemUploadComplete;
2068 if (handlerNewInventoryItemUpdateComplete != null) 2214 if (handlerNewInventoryItemUpdateComplete != null)
@@ -2071,7 +2217,7 @@ namespace OpenSim.Region.Framework.Scenes
2071 { 2217 {
2072 try 2218 try
2073 { 2219 {
2074 d(agentID, AssetID, AssetName, userlevel); 2220 d(agentID, type, AssetID, AssetName, userlevel);
2075 } 2221 }
2076 catch (Exception e) 2222 catch (Exception e)
2077 { 2223 {
@@ -2209,6 +2355,48 @@ namespace OpenSim.Region.Framework.Scenes
2209 } 2355 }
2210 } 2356 }
2211 2357
2358 public void TriggerMovingStartEvent(uint localID)
2359 {
2360 ScriptMovingStartEvent handlerScriptMovingStartEvent = OnScriptMovingStartEvent;
2361 if (handlerScriptMovingStartEvent != null)
2362 {
2363 foreach (ScriptMovingStartEvent d in handlerScriptMovingStartEvent.GetInvocationList())
2364 {
2365 try
2366 {
2367 d(localID);
2368 }
2369 catch (Exception e)
2370 {
2371 m_log.ErrorFormat(
2372 "[EVENT MANAGER]: Delegate for TriggerMovingStartEvent failed - continuing. {0} {1}",
2373 e.Message, e.StackTrace);
2374 }
2375 }
2376 }
2377 }
2378
2379 public void TriggerMovingEndEvent(uint localID)
2380 {
2381 ScriptMovingEndEvent handlerScriptMovingEndEvent = OnScriptMovingEndEvent;
2382 if (handlerScriptMovingEndEvent != null)
2383 {
2384 foreach (ScriptMovingEndEvent d in handlerScriptMovingEndEvent.GetInvocationList())
2385 {
2386 try
2387 {
2388 d(localID);
2389 }
2390 catch (Exception e)
2391 {
2392 m_log.ErrorFormat(
2393 "[EVENT MANAGER]: Delegate for TriggerMovingEndEvent failed - continuing. {0} {1}",
2394 e.Message, e.StackTrace);
2395 }
2396 }
2397 }
2398 }
2399
2212 public void TriggerRequestChangeWaterHeight(float height) 2400 public void TriggerRequestChangeWaterHeight(float height)
2213 { 2401 {
2214 if (height < 0) 2402 if (height < 0)
@@ -2507,13 +2695,10 @@ namespace OpenSim.Region.Framework.Scenes
2507 } 2695 }
2508 2696
2509 /// <summary> 2697 /// <summary>
2510 /// Updates the system as to how the position of the sun should be handled. 2698 /// Called when the sun's position parameters have changed in the Region and/or Estate
2511 /// </summary> 2699 /// </summary>
2512 /// <param name="regionHandle"></param> 2700 /// <param name="regionHandle">The region that changed</param>
2513 /// <param name="FixedTime">True if the Sun Position is fixed</param> 2701 public void TriggerEstateToolsSunUpdate(ulong regionHandle)
2514 /// <param name="useEstateTime">True if the Estate Settings should be used instead of region</param>
2515 /// <param name="FixedSunHour">The hour 0.0 <= FixedSunHour <= 24.0 at which the sun is fixed at. Sun Hour 0 is sun-rise, when Day/Night ratio is 1:1</param>
2516 public void TriggerEstateToolsSunUpdate(ulong regionHandle, bool FixedTime, bool useEstateTime, float FixedSunHour)
2517 { 2702 {
2518 EstateToolsSunUpdate handlerEstateToolsSunUpdate = OnEstateToolsSunUpdate; 2703 EstateToolsSunUpdate handlerEstateToolsSunUpdate = OnEstateToolsSunUpdate;
2519 if (handlerEstateToolsSunUpdate != null) 2704 if (handlerEstateToolsSunUpdate != null)
@@ -2522,7 +2707,7 @@ namespace OpenSim.Region.Framework.Scenes
2522 { 2707 {
2523 try 2708 try
2524 { 2709 {
2525 d(regionHandle, FixedTime, useEstateTime, FixedSunHour); 2710 d(regionHandle);
2526 } 2711 }
2527 catch (Exception e) 2712 catch (Exception e)
2528 { 2713 {
@@ -2957,6 +3142,27 @@ namespace OpenSim.Region.Framework.Scenes
2957 } 3142 }
2958 } 3143 }
2959 3144
3145 public void TriggerRegionHeartbeatStart(Scene scene)
3146 {
3147 RegionHeartbeatStart handler = OnRegionHeartbeatStart;
3148
3149 if (handler != null)
3150 {
3151 foreach (RegionHeartbeatStart d in handler.GetInvocationList())
3152 {
3153 try
3154 {
3155 d(scene);
3156 }
3157 catch (Exception e)
3158 {
3159 m_log.ErrorFormat("[EVENT MANAGER]: Delegate for OnRegionHeartbeatStart failed - continuing {0} - {1}",
3160 e.Message, e.StackTrace);
3161 }
3162 }
3163 }
3164 }
3165
2960 public void TriggerRegionHeartbeatEnd(Scene scene) 3166 public void TriggerRegionHeartbeatEnd(Scene scene)
2961 { 3167 {
2962 RegionHeartbeatEnd handler = OnRegionHeartbeatEnd; 3168 RegionHeartbeatEnd handler = OnRegionHeartbeatEnd;
@@ -3103,5 +3309,26 @@ namespace OpenSim.Region.Framework.Scenes
3103 } 3309 }
3104 } 3310 }
3105 } 3311 }
3312
3313// public void TriggerGatherUuids(SceneObjectPart sop, IDictionary<UUID, AssetType> assetUuids)
3314// {
3315// GatherUuids handler = OnGatherUuids;
3316//
3317// if (handler != null)
3318// {
3319// foreach (GatherUuids d in handler.GetInvocationList())
3320// {
3321// try
3322// {
3323// d(sop, assetUuids);
3324// }
3325// catch (Exception e)
3326// {
3327// m_log.ErrorFormat("[EVENT MANAGER]: Delegate for TriggerUuidGather failed - continuing {0} - {1}",
3328// e.Message, e.StackTrace);
3329// }
3330// }
3331// }
3332// }
3106 } 3333 }
3107} 3334}