diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/EventManager.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index cabb5f9..22909bc 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -209,6 +209,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
209 | public event OnSendNewWindlightProfileTargetedDelegate OnSendNewWindlightProfileTargeted; | 209 | public event OnSendNewWindlightProfileTargetedDelegate OnSendNewWindlightProfileTargeted; |
210 | public event OnSaveNewWindlightProfileDelegate OnSaveNewWindlightProfile; | 210 | public event OnSaveNewWindlightProfileDelegate OnSaveNewWindlightProfile; |
211 | 211 | ||
212 | /// <summary> | ||
213 | /// Triggered when an object or attachment enters a scene | ||
214 | /// </summary> | ||
215 | public event OnIncomingSceneObjectDelegate OnIncomingSceneObject; | ||
216 | public delegate void OnIncomingSceneObjectDelegate(SceneObjectGroup so); | ||
217 | |||
212 | public delegate void NewInventoryItemUploadComplete(UUID avatarID, UUID assetID, string name, int userlevel); | 218 | public delegate void NewInventoryItemUploadComplete(UUID avatarID, UUID assetID, string name, int userlevel); |
213 | 219 | ||
214 | public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; | 220 | public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; |
@@ -411,7 +417,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
411 | } | 417 | } |
412 | } | 418 | } |
413 | } | 419 | } |
414 | } | 420 | } |
415 | 421 | ||
416 | public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) | 422 | public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) |
417 | { | 423 | { |
@@ -1228,6 +1234,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
1228 | } | 1234 | } |
1229 | } | 1235 | } |
1230 | 1236 | ||
1237 | public void TriggerOnIncomingSceneObject(SceneObjectGroup so) | ||
1238 | { | ||
1239 | OnIncomingSceneObjectDelegate handlerIncomingSceneObject = OnIncomingSceneObject; | ||
1240 | if (handlerIncomingSceneObject != null) | ||
1241 | { | ||
1242 | foreach (OnIncomingSceneObjectDelegate d in handlerIncomingSceneObject.GetInvocationList()) | ||
1243 | { | ||
1244 | try | ||
1245 | { | ||
1246 | d(so); | ||
1247 | } | ||
1248 | catch (Exception e) | ||
1249 | { | ||
1250 | m_log.ErrorFormat( | ||
1251 | "[EVENT MANAGER]: Delegate for TriggerOnIncomingSceneObject failed - continuing. {0} {1}", | ||
1252 | e.Message, e.StackTrace); | ||
1253 | } | ||
1254 | } | ||
1255 | } | ||
1256 | } | ||
1257 | |||
1231 | public void TriggerOnRegisterCaps(UUID agentID, Caps caps) | 1258 | public void TriggerOnRegisterCaps(UUID agentID, Caps caps) |
1232 | { | 1259 | { |
1233 | RegisterCapsEvent handlerRegisterCaps = OnRegisterCaps; | 1260 | RegisterCapsEvent handlerRegisterCaps = OnRegisterCaps; |