From 00947cf2ca7a9315ae1d508507db0c95348e25ec Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 8 Feb 2010 19:02:20 +0000 Subject: Add EventManager.OnIncomingSceneObject event which is triggered by an incoming scene object Add a read-only Attachments property to ScenePresence --- OpenSim/Region/Framework/Scenes/EventManager.cs | 29 ++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Scenes/EventManager.cs') diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 473920e..9f74b2a 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -205,6 +205,12 @@ namespace OpenSim.Region.Framework.Scenes public delegate void OnMakeRootAgentDelegate(ScenePresence presence); public event OnMakeRootAgentDelegate OnMakeRootAgent; + /// + /// Triggered when an object or attachment enters a scene + /// + public event OnIncomingSceneObjectDelegate OnIncomingSceneObject; + public delegate void OnIncomingSceneObjectDelegate(SceneObjectGroup so); + public delegate void NewInventoryItemUploadComplete(UUID avatarID, UUID assetID, string name, int userlevel); public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; @@ -407,7 +413,7 @@ namespace OpenSim.Region.Framework.Scenes } } } - } + } public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) { @@ -1206,6 +1212,27 @@ namespace OpenSim.Region.Framework.Scenes } } + public void TriggerOnIncomingSceneObject(SceneObjectGroup so) + { + OnIncomingSceneObjectDelegate handlerIncomingSceneObject = OnIncomingSceneObject; + if (handlerIncomingSceneObject != null) + { + foreach (OnIncomingSceneObjectDelegate d in handlerIncomingSceneObject.GetInvocationList()) + { + try + { + d(so); + } + catch (Exception e) + { + m_log.ErrorFormat( + "[EVENT MANAGER]: Delegate for TriggerOnIncomingSceneObject failed - continuing. {0} {1}", + e.Message, e.StackTrace); + } + } + } + } + public void TriggerOnRegisterCaps(UUID agentID, Caps caps) { RegisterCapsEvent handlerRegisterCaps = OnRegisterCaps; -- cgit v1.1