diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/EventManager.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 501 |
1 files changed, 488 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index eee5960..7133817 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -47,30 +47,75 @@ namespace OpenSim.Region.Framework.Scenes | |||
47 | 47 | ||
48 | public delegate void OnFrameDelegate(); | 48 | public delegate void OnFrameDelegate(); |
49 | 49 | ||
50 | /// <summary> | ||
51 | /// Triggered on each sim frame. | ||
52 | /// </summary> | ||
53 | /// <remarks> | ||
54 | /// This gets triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.Update"/> | ||
55 | /// Core uses it for things like Sun, Wind & Clouds | ||
56 | /// The MRM module also uses it. | ||
57 | /// </remarks> | ||
50 | public event OnFrameDelegate OnFrame; | 58 | public event OnFrameDelegate OnFrame; |
51 | 59 | ||
52 | public delegate void ClientMovement(ScenePresence client); | 60 | public delegate void ClientMovement(ScenePresence client); |
53 | 61 | ||
62 | /// <summary> | ||
63 | /// Trigerred when an agent moves. | ||
64 | /// </summary> | ||
65 | /// <remarks> | ||
66 | /// This gets triggered in <see cref="OpenSim.Region.Framework.Scenes.ScenePresence.HandleAgentUpdate"/> | ||
67 | /// prior to <see cref="OpenSim.Region.Framework.Scenes.ScenePresence.TriggerScenePresenceUpdated"/> | ||
68 | /// </remarks> | ||
54 | public event ClientMovement OnClientMovement; | 69 | public event ClientMovement OnClientMovement; |
55 | 70 | ||
56 | public delegate void OnTerrainTaintedDelegate(); | 71 | public delegate void OnTerrainTaintedDelegate(); |
57 | 72 | ||
73 | /// <summary> | ||
74 | /// Triggered if the terrain has been edited | ||
75 | /// </summary> | ||
76 | /// <remarks> | ||
77 | /// This gets triggered in <see cref="OpenSim.Region.CoreModules.World.Terrain.CheckForTerrainUpdates"/> | ||
78 | /// after it determines that an update has been made. | ||
79 | /// </remarks> | ||
58 | public event OnTerrainTaintedDelegate OnTerrainTainted; | 80 | public event OnTerrainTaintedDelegate OnTerrainTainted; |
59 | 81 | ||
60 | public delegate void OnTerrainTickDelegate(); | 82 | public delegate void OnTerrainTickDelegate(); |
61 | 83 | ||
62 | public delegate void OnTerrainUpdateDelegate(); | 84 | /// <summary> |
63 | 85 | /// Triggered if the terrain has been edited | |
86 | /// </summary> | ||
87 | /// <remarks> | ||
88 | /// This gets triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.UpdateTerrain"/> | ||
89 | /// but is used by core solely to update the physics engine. | ||
90 | /// </remarks> | ||
64 | public event OnTerrainTickDelegate OnTerrainTick; | 91 | public event OnTerrainTickDelegate OnTerrainTick; |
65 | 92 | ||
93 | public delegate void OnTerrainUpdateDelegate(); | ||
94 | |||
66 | public event OnTerrainUpdateDelegate OnTerrainUpdate; | 95 | public event OnTerrainUpdateDelegate OnTerrainUpdate; |
67 | 96 | ||
68 | public delegate void OnBackupDelegate(ISimulationDataService datastore, bool forceBackup); | 97 | public delegate void OnBackupDelegate(ISimulationDataService datastore, bool forceBackup); |
69 | 98 | ||
99 | /// <summary> | ||
100 | /// Triggered when a region is backed up/persisted to storage | ||
101 | /// </summary> | ||
102 | /// <remarks> | ||
103 | /// This gets triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.Backup"/> | ||
104 | /// and is fired before the persistence occurs. | ||
105 | /// </remarks> | ||
70 | public event OnBackupDelegate OnBackup; | 106 | public event OnBackupDelegate OnBackup; |
71 | 107 | ||
72 | public delegate void OnClientConnectCoreDelegate(IClientCore client); | 108 | public delegate void OnClientConnectCoreDelegate(IClientCore client); |
73 | 109 | ||
110 | /// <summary> | ||
111 | /// Triggered when a new client connects to the scene. | ||
112 | /// </summary> | ||
113 | /// <remarks> | ||
114 | /// This gets triggered in <see cref="TriggerOnNewClient"/>, | ||
115 | /// which checks if an instance of <see cref="OpenSim.Framework.IClientAPI"/> | ||
116 | /// also implements <see cref="OpenSim.Framework.Client.IClientCore"/> and as such, | ||
117 | /// is not triggered by <see cref="OpenSim.Region.OptionalModules.World.NPC">NPCs</see>. | ||
118 | /// </remarks> | ||
74 | public event OnClientConnectCoreDelegate OnClientConnect; | 119 | public event OnClientConnectCoreDelegate OnClientConnect; |
75 | 120 | ||
76 | public delegate void OnNewClientDelegate(IClientAPI client); | 121 | public delegate void OnNewClientDelegate(IClientAPI client); |
@@ -91,22 +136,74 @@ namespace OpenSim.Region.Framework.Scenes | |||
91 | 136 | ||
92 | public delegate void OnNewPresenceDelegate(ScenePresence presence); | 137 | public delegate void OnNewPresenceDelegate(ScenePresence presence); |
93 | 138 | ||
139 | /// <summary> | ||
140 | /// Triggered when a new presence is added to the scene | ||
141 | /// </summary> | ||
142 | /// <remarks> | ||
143 | /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewClient"/> which is used by both | ||
144 | /// <see cref="OpenSim.Framework.PresenceType.User">users</see> and <see cref="OpenSim.Framework.PresenceType.Npc">NPCs</see> | ||
145 | /// </remarks> | ||
94 | public event OnNewPresenceDelegate OnNewPresence; | 146 | public event OnNewPresenceDelegate OnNewPresence; |
95 | 147 | ||
96 | public delegate void OnRemovePresenceDelegate(UUID agentId); | 148 | public delegate void OnRemovePresenceDelegate(UUID agentId); |
97 | 149 | ||
150 | /// <summary> | ||
151 | /// Triggered when a presence is removed from the scene | ||
152 | /// </summary> | ||
153 | /// <remarks> | ||
154 | /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewClient"/> which is used by both | ||
155 | /// <see cref="OpenSim.Framework.PresenceType.User">users</see> and <see cref="OpenSim.Framework.PresenceType.Npc">NPCs</see> | ||
156 | /// </remarks> | ||
98 | public event OnRemovePresenceDelegate OnRemovePresence; | 157 | public event OnRemovePresenceDelegate OnRemovePresence; |
99 | 158 | ||
100 | public delegate void OnParcelPrimCountUpdateDelegate(); | 159 | public delegate void OnParcelPrimCountUpdateDelegate(); |
101 | 160 | ||
161 | /// <summary> | ||
162 | /// Triggered whenever the prim count may have been altered, or prior | ||
163 | /// to an action that requires the current prim count to be accurate. | ||
164 | /// </summary> | ||
165 | /// <remarks> | ||
166 | /// Triggered by <see cref="TriggerParcelPrimCountUpdate"/> in | ||
167 | /// <see cref="OpenSim.OpenSimBase.CreateRegion"/>, | ||
168 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandManagementModule.EventManagerOnRequestParcelPrimCountUpdate"/>, | ||
169 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandManagementModule.ClientOnParcelObjectOwnerRequest"/>, | ||
170 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandObject.GetPrimsFree"/>, | ||
171 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandObject.UpdateLandSold"/>, | ||
172 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandObject.DeedToGroup"/>, | ||
173 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandObject.SendLandUpdateToClient"/> | ||
174 | /// </remarks> | ||
102 | public event OnParcelPrimCountUpdateDelegate OnParcelPrimCountUpdate; | 175 | public event OnParcelPrimCountUpdateDelegate OnParcelPrimCountUpdate; |
103 | 176 | ||
104 | public delegate void OnParcelPrimCountAddDelegate(SceneObjectGroup obj); | 177 | public delegate void OnParcelPrimCountAddDelegate(SceneObjectGroup obj); |
105 | 178 | ||
179 | /// <summary> | ||
180 | /// Triggered in response to <see cref="OnParcelPrimCountUpdate"/> for | ||
181 | /// objects that actually contribute to parcel prim count. | ||
182 | /// </summary> | ||
183 | /// <remarks> | ||
184 | /// Triggered by <see cref="TriggerParcelPrimCountAdd"/> in | ||
185 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandManagementModule.EventManagerOnParcelPrimCountUpdate"/> | ||
186 | /// </remarks> | ||
106 | public event OnParcelPrimCountAddDelegate OnParcelPrimCountAdd; | 187 | public event OnParcelPrimCountAddDelegate OnParcelPrimCountAdd; |
107 | 188 | ||
108 | public delegate void OnPluginConsoleDelegate(string[] args); | 189 | public delegate void OnPluginConsoleDelegate(string[] args); |
109 | 190 | ||
191 | /// <summary> | ||
192 | /// Triggered after <see cref="OpenSim.IApplicationPlugin.PostInitialise"/> | ||
193 | /// has been called for all <see cref="OpenSim.IApplicationPlugin"/> | ||
194 | /// loaded via <see cref="OpenSim.OpenSimBase.LoadPlugins"/>. | ||
195 | /// Handlers for this event are typically used to parse the arguments | ||
196 | /// from <see cref="OnPluginConsoleDelegate"/> in order to process or | ||
197 | /// filter the arguments and pass them onto <see cref="OpenSim.Region.CoreModules.Framework.InterfaceCommander.Commander.ProcessConsoleCommand"/> | ||
198 | /// </summary> | ||
199 | /// <remarks> | ||
200 | /// Triggered by <see cref="TriggerOnPluginConsole"/> in | ||
201 | /// <see cref="Scene.SendCommandToPlugins"/> via | ||
202 | /// <see cref="SceneManager.SendCommandToPluginModules"/> via | ||
203 | /// <see cref="OpenSim.OpenSimBase.HandleCommanderCommand"/> via | ||
204 | /// <see cref="OpenSim.OpenSimBase.AddPluginCommands"/> via | ||
205 | /// <see cref="OpenSim.OpenSimBase.StartupSpecific"/> | ||
206 | /// </remarks> | ||
110 | public event OnPluginConsoleDelegate OnPluginConsole; | 207 | public event OnPluginConsoleDelegate OnPluginConsole; |
111 | 208 | ||
112 | /// <summary> | 209 | /// <summary> |
@@ -121,8 +218,28 @@ namespace OpenSim.Region.Framework.Scenes | |||
121 | 218 | ||
122 | public delegate void OnSetRootAgentSceneDelegate(UUID agentID, Scene scene); | 219 | public delegate void OnSetRootAgentSceneDelegate(UUID agentID, Scene scene); |
123 | 220 | ||
221 | /// <summary> | ||
222 | /// Triggered before the grunt work for adding a root agent to a | ||
223 | /// scene has been performed (resuming attachment scripts, physics, | ||
224 | /// animations etc.) | ||
225 | /// </summary> | ||
226 | /// <remarks> | ||
227 | /// Triggered before <see cref="OnMakeRootAgent"/> | ||
228 | /// by <see cref="TriggerSetRootAgentScene"/> | ||
229 | /// in <see cref="ScenePresence.MakeRootAgent"/> | ||
230 | /// via <see cref="Scene.AgentCrossing"/> | ||
231 | /// and <see cref="ScenePresence.CompleteMovement"/> | ||
232 | /// </remarks> | ||
124 | public event OnSetRootAgentSceneDelegate OnSetRootAgentScene; | 233 | public event OnSetRootAgentSceneDelegate OnSetRootAgentScene; |
125 | 234 | ||
235 | /// <summary> | ||
236 | /// Triggered after parcel properties have been updated. | ||
237 | /// </summary> | ||
238 | /// <remarks> | ||
239 | /// Triggered by <see cref="TriggerOnParcelPropertiesUpdateRequest"/> in | ||
240 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandManagementModule.ClientOnParcelPropertiesUpdateRequest"/>, | ||
241 | /// <see cref="OpenSim.Region.CoreModules.World.Land.LandManagementModule.ProcessPropertiesUpdate"/> | ||
242 | /// </remarks> | ||
126 | public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest; | 243 | public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest; |
127 | 244 | ||
128 | /// <summary> | 245 | /// <summary> |
@@ -137,13 +254,45 @@ namespace OpenSim.Region.Framework.Scenes | |||
137 | /// <summary> | 254 | /// <summary> |
138 | /// Fired when an object is touched/grabbed. | 255 | /// Fired when an object is touched/grabbed. |
139 | /// </summary> | 256 | /// </summary> |
257 | /// <remarks> | ||
140 | /// The originalID is the local ID of the part that was actually touched. The localID itself is always that of | 258 | /// The originalID is the local ID of the part that was actually touched. The localID itself is always that of |
141 | /// the root part. | 259 | /// the root part. |
260 | /// Triggerd in response to <see cref="OpenSim.Framework.IClientAPI.OnGrabObject"/> | ||
261 | /// via <see cref="TriggerObjectGrab"/> | ||
262 | /// in <see cref="Scene.ProcessObjectGrab"/> | ||
263 | /// </remarks> | ||
142 | public event ObjectGrabDelegate OnObjectGrab; | 264 | public event ObjectGrabDelegate OnObjectGrab; |
143 | public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); | 265 | public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); |
144 | 266 | ||
267 | /// <summary> | ||
268 | /// Triggered when an object is being touched/grabbed continuously. | ||
269 | /// </summary> | ||
270 | /// <remarks> | ||
271 | /// Triggered in response to <see cref="OpenSim.Framework.IClientAPI.OnGrabUpdate"/> | ||
272 | /// via <see cref="TriggerObjectGrabbing"/> | ||
273 | /// in <see cref="Scene.ProcessObjectGrabUpdate"/> | ||
274 | /// </remarks> | ||
145 | public event ObjectGrabDelegate OnObjectGrabbing; | 275 | public event ObjectGrabDelegate OnObjectGrabbing; |
276 | |||
277 | /// <summary> | ||
278 | /// Triggered when an object stops being touched/grabbed. | ||
279 | /// </summary> | ||
280 | /// <remarks> | ||
281 | /// Triggered in response to <see cref="OpenSim.Framework.IClientAPI.OnDeGrabObject"/> | ||
282 | /// via <see cref="TriggerObjectDeGrab"/> | ||
283 | /// in <see cref="Scene.ProcessObjectDeGrab"/> | ||
284 | /// </remarks> | ||
146 | public event ObjectDeGrabDelegate OnObjectDeGrab; | 285 | public event ObjectDeGrabDelegate OnObjectDeGrab; |
286 | |||
287 | /// <summary> | ||
288 | /// Triggered when a script resets. | ||
289 | /// </summary> | ||
290 | /// <remarks> | ||
291 | /// Triggered by <see cref="TriggerScriptReset"/> | ||
292 | /// in <see cref="Scene.ProcessScriptReset"/> | ||
293 | /// via <see cref="OpenSim.Framework.IClientAPI.OnScriptReset"/> | ||
294 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleScriptReset"/> | ||
295 | /// </remarks> | ||
147 | public event ScriptResetDelegate OnScriptReset; | 296 | public event ScriptResetDelegate OnScriptReset; |
148 | 297 | ||
149 | public event OnPermissionErrorDelegate OnPermissionError; | 298 | public event OnPermissionErrorDelegate OnPermissionError; |
@@ -153,29 +302,105 @@ namespace OpenSim.Region.Framework.Scenes | |||
153 | /// </summary> | 302 | /// </summary> |
154 | /// <remarks> | 303 | /// <remarks> |
155 | /// Occurs after OnNewScript. | 304 | /// Occurs after OnNewScript. |
305 | /// Triggered by <see cref="TriggerRezScript"/> | ||
306 | /// in <see cref="SceneObjectPartInventory.CreateScriptInstance"/> | ||
156 | /// </remarks> | 307 | /// </remarks> |
157 | public event NewRezScript OnRezScript; | 308 | public event NewRezScript OnRezScript; |
158 | public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource); | 309 | public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource); |
159 | 310 | ||
160 | public delegate void RemoveScript(uint localID, UUID itemID); | 311 | public delegate void RemoveScript(uint localID, UUID itemID); |
312 | |||
313 | /// <summary> | ||
314 | /// Triggered when a script is removed from an object. | ||
315 | /// </summary> | ||
316 | /// <remarks> | ||
317 | /// Triggered by <see cref="TriggerRemoveScript"/> | ||
318 | /// in <see cref="Scene.RemoveTaskInventory"/>, | ||
319 | /// <see cref="Scene.CreateAgentInventoryItemFromTask"/>, | ||
320 | /// <see cref="SceneObjectPartInventory.RemoveScriptInstance"/>, | ||
321 | /// <see cref="SceneObjectPartInventory.RemoveInventoryItem"/> | ||
322 | /// </remarks> | ||
161 | public event RemoveScript OnRemoveScript; | 323 | public event RemoveScript OnRemoveScript; |
162 | 324 | ||
163 | public delegate void StartScript(uint localID, UUID itemID); | 325 | public delegate void StartScript(uint localID, UUID itemID); |
326 | |||
327 | /// <summary> | ||
328 | /// Triggered when a script starts. | ||
329 | /// </summary> | ||
330 | /// <remarks> | ||
331 | /// Triggered by <see cref="TriggerStartScript"/> | ||
332 | /// in <see cref="Scene.SetScriptRunning"/> | ||
333 | /// via <see cref="OpenSim.Framework.IClientAPI.OnSetScriptRunning"/>, | ||
334 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.HandleSetScriptRunning"/> | ||
335 | /// </remarks> | ||
164 | public event StartScript OnStartScript; | 336 | public event StartScript OnStartScript; |
165 | 337 | ||
166 | public delegate void StopScript(uint localID, UUID itemID); | 338 | public delegate void StopScript(uint localID, UUID itemID); |
339 | |||
340 | /// <summary> | ||
341 | /// Triggered when a script stops. | ||
342 | /// </summary> | ||
343 | /// <remarks> | ||
344 | /// Triggered by <see cref="TriggerStopScript"/>, | ||
345 | /// in <see cref="SceneObjectPartInventory.CreateScriptInstance"/>, | ||
346 | /// <see cref="SceneObjectPartInventory.StopScriptInstance"/>, | ||
347 | /// <see cref="Scene.SetScriptRunning"/> | ||
348 | /// </remarks> | ||
167 | public event StopScript OnStopScript; | 349 | public event StopScript OnStopScript; |
168 | 350 | ||
169 | public delegate bool SceneGroupMoved(UUID groupID, Vector3 delta); | 351 | public delegate bool SceneGroupMoved(UUID groupID, Vector3 delta); |
352 | |||
353 | /// <summary> | ||
354 | /// Triggered when an object is moved. | ||
355 | /// </summary> | ||
356 | /// <remarks> | ||
357 | /// Triggered by <see cref="TriggerGroupMove"/> | ||
358 | /// in <see cref="SceneObjectGroup.UpdateGroupPosition"/>, | ||
359 | /// <see cref="SceneObjectGroup.GrabMovement"/> | ||
360 | /// </remarks> | ||
170 | public event SceneGroupMoved OnSceneGroupMove; | 361 | public event SceneGroupMoved OnSceneGroupMove; |
171 | 362 | ||
172 | public delegate void SceneGroupGrabed(UUID groupID, Vector3 offset, UUID userID); | 363 | public delegate void SceneGroupGrabed(UUID groupID, Vector3 offset, UUID userID); |
364 | |||
365 | /// <summary> | ||
366 | /// Triggered when an object is grabbed. | ||
367 | /// </summary> | ||
368 | /// <remarks> | ||
369 | /// Triggered by <see cref="TriggerGroupGrab"/> | ||
370 | /// in <see cref="SceneObjectGroup.OnGrabGroup"/> | ||
371 | /// via <see cref="SceneObjectGroup.ObjectGrabHandler"/> | ||
372 | /// via <see cref="Scene.ProcessObjectGrab"/> | ||
373 | /// via <see cref="OpenSim.Framework.IClientAPI.OnGrabObject"/> | ||
374 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleObjectGrab"/> | ||
375 | /// </remarks> | ||
173 | public event SceneGroupGrabed OnSceneGroupGrab; | 376 | public event SceneGroupGrabed OnSceneGroupGrab; |
174 | 377 | ||
175 | public delegate bool SceneGroupSpinStarted(UUID groupID); | 378 | public delegate bool SceneGroupSpinStarted(UUID groupID); |
379 | |||
380 | /// <summary> | ||
381 | /// Triggered when an object starts to spin. | ||
382 | /// </summary> | ||
383 | /// <remarks> | ||
384 | /// Triggered by <see cref="TriggerGroupSpinStart"/> | ||
385 | /// in <see cref="SceneObjectGroup.SpinStart"/> | ||
386 | /// via <see cref="SceneGraph.SpinStart"/> | ||
387 | /// via <see cref="OpenSim.Framework.IClientAPI.OnSpinStart"/> | ||
388 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleObjectSpinStart"/> | ||
389 | /// </remarks> | ||
176 | public event SceneGroupSpinStarted OnSceneGroupSpinStart; | 390 | public event SceneGroupSpinStarted OnSceneGroupSpinStart; |
177 | 391 | ||
178 | public delegate bool SceneGroupSpun(UUID groupID, Quaternion rotation); | 392 | public delegate bool SceneGroupSpun(UUID groupID, Quaternion rotation); |
393 | |||
394 | /// <summary> | ||
395 | /// Triggered when an object is being spun. | ||
396 | /// </summary> | ||
397 | /// <remarks> | ||
398 | /// Triggered by <see cref="TriggerGroupSpin"/> | ||
399 | /// in <see cref="SceneObjectGroup.SpinMovement"/> | ||
400 | /// via <see cref="SceneGraph.SpinObject"/> | ||
401 | /// via <see cref="OpenSim.Framework.IClientAPI.OnSpinUpdate"/> | ||
402 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleObjectSpinUpdate"/> | ||
403 | /// </remarks> | ||
179 | public event SceneGroupSpun OnSceneGroupSpin; | 404 | public event SceneGroupSpun OnSceneGroupSpin; |
180 | 405 | ||
181 | public delegate void LandObjectAdded(ILandObject newParcel); | 406 | public delegate void LandObjectAdded(ILandObject newParcel); |
@@ -214,6 +439,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
214 | /// </summary> | 439 | /// </summary> |
215 | /// <remarks> | 440 | /// <remarks> |
216 | /// Occurs before OnRezScript | 441 | /// Occurs before OnRezScript |
442 | /// Triggered by <see cref="TriggerNewScript"/> | ||
443 | /// in <see cref="Scene.RezScriptFromAgentInventory"/>, | ||
444 | /// <see cref="Scene.RezNewScript"/> | ||
217 | /// </remarks> | 445 | /// </remarks> |
218 | public event NewScript OnNewScript; | 446 | public event NewScript OnNewScript; |
219 | 447 | ||
@@ -248,6 +476,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
248 | /// </summary> | 476 | /// </summary> |
249 | /// <remarks> | 477 | /// <remarks> |
250 | /// Triggered after the scene receives a client's upload of an updated script and has stored it in an asset. | 478 | /// Triggered after the scene receives a client's upload of an updated script and has stored it in an asset. |
479 | /// Triggered by <see cref="TriggerUpdateScript"/> | ||
480 | /// in <see cref="Scene.CapsUpdateTaskInventoryScriptAsset"/> | ||
481 | /// via <see cref="Scene.CapsUpdateTaskInventoryScriptAsset"/> | ||
482 | /// via <see cref="OpenSim.Region.ClientStack.Linden.BunchOfCaps.TaskScriptUpdated"/> | ||
483 | /// via <see cref="OpenSim.Region.ClientStack.Linden.TaskInventoryScriptUpdater.OnUpLoad"/> | ||
484 | /// via <see cref="OpenSim.Region.ClientStack.Linden.TaskInventoryScriptUpdater.uploaderCaps"/> | ||
251 | /// </remarks> | 485 | /// </remarks> |
252 | public event UpdateScript OnUpdateScript; | 486 | public event UpdateScript OnUpdateScript; |
253 | 487 | ||
@@ -273,48 +507,203 @@ namespace OpenSim.Region.Framework.Scenes | |||
273 | } | 507 | } |
274 | 508 | ||
275 | /// <summary> | 509 | /// <summary> |
510 | /// Triggered when some scene object properties change. | ||
511 | /// </summary> | ||
512 | /// <remarks> | ||
276 | /// ScriptChangedEvent is fired when a scene object property that a script might be interested | 513 | /// ScriptChangedEvent is fired when a scene object property that a script might be interested |
277 | /// in (such as color, scale or inventory) changes. Only enough information sent is for the LSL changed event. | 514 | /// in (such as color, scale or inventory) changes. Only enough information sent is for the LSL changed event. |
278 | /// This is not an indication that the script has changed (see OnUpdateScript for that). | 515 | /// This is not an indication that the script has changed (see OnUpdateScript for that). |
279 | /// This event is sent to a script to tell it that some property changed on | 516 | /// This event is sent to a script to tell it that some property changed on |
280 | /// the object the script is in. See http://lslwiki.net/lslwiki/wakka.php?wakka=changed . | 517 | /// the object the script is in. See http://lslwiki.net/lslwiki/wakka.php?wakka=changed . |
281 | /// </summary> | 518 | /// Triggered by <see cref="TriggerOnScriptChangedEvent"/> |
519 | /// in <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.TeleportAgentWithinRegion"/>, | ||
520 | /// <see cref="SceneObjectPart.TriggerScriptChangedEvent"/> | ||
521 | /// </remarks> | ||
282 | public event ScriptChangedEvent OnScriptChangedEvent; | 522 | public event ScriptChangedEvent OnScriptChangedEvent; |
283 | public delegate void ScriptChangedEvent(uint localID, uint change); | 523 | public delegate void ScriptChangedEvent(uint localID, uint change); |
284 | 524 | ||
285 | public delegate void ScriptControlEvent(UUID item, UUID avatarID, uint held, uint changed); | 525 | public delegate void ScriptControlEvent(UUID item, UUID avatarID, uint held, uint changed); |
526 | |||
527 | /// <summary> | ||
528 | /// Triggered when a script receives control input from an agent. | ||
529 | /// </summary> | ||
530 | /// <remarks> | ||
531 | /// Triggered by <see cref="TriggerControlEvent"/> | ||
532 | /// in <see cref="ScenePresence.SendControlsToScripts"/> | ||
533 | /// via <see cref="ScenePresence.HandleAgentUpdate"/> | ||
534 | /// via <see cref="OpenSim.Framework.IClientAPI.OnAgentUpdate"/> | ||
535 | /// via <see cref="OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleAgentUpdate"/> | ||
536 | /// </remarks> | ||
286 | public event ScriptControlEvent OnScriptControlEvent; | 537 | public event ScriptControlEvent OnScriptControlEvent; |
287 | 538 | ||
288 | public delegate void ScriptAtTargetEvent(uint localID, uint handle, Vector3 targetpos, Vector3 atpos); | 539 | public delegate void ScriptAtTargetEvent(uint localID, uint handle, Vector3 targetpos, Vector3 atpos); |
540 | |||
541 | /// <summary> | ||
542 | /// Triggered when an object has arrived within a tolerance distance | ||
543 | /// of a motion target. | ||
544 | /// </summary> | ||
545 | /// <remarks> | ||
546 | /// Triggered by <see cref="TriggerAtTargetEvent"/> | ||
547 | /// in <see cref="SceneObjectGroup.checkAtTargets"/> | ||
548 | /// via <see cref="SceneObjectGroup.ScheduleGroupForFullUpdate"/>, | ||
549 | /// <see cref="Scene.CheckAtTargets"/> via <see cref="Scene.Update"/> | ||
550 | /// </remarks> | ||
289 | public event ScriptAtTargetEvent OnScriptAtTargetEvent; | 551 | public event ScriptAtTargetEvent OnScriptAtTargetEvent; |
290 | 552 | ||
291 | public delegate void ScriptNotAtTargetEvent(uint localID); | 553 | public delegate void ScriptNotAtTargetEvent(uint localID); |
554 | |||
555 | /// <summary> | ||
556 | /// Triggered when an object has a motion target but has not arrived | ||
557 | /// within a tolerance distance. | ||
558 | /// </summary> | ||
559 | /// <remarks> | ||
560 | /// Triggered by <see cref="TriggerNotAtTargetEvent"/> | ||
561 | /// in <see cref="SceneObjectGroup.checkAtTargets"/> | ||
562 | /// via <see cref="SceneObjectGroup.ScheduleGroupForFullUpdate"/>, | ||
563 | /// <see cref="Scene.CheckAtTargets"/> via <see cref="Scene.Update"/> | ||
564 | /// </remarks> | ||
292 | public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent; | 565 | public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent; |
293 | 566 | ||
294 | public delegate void ScriptAtRotTargetEvent(uint localID, uint handle, Quaternion targetrot, Quaternion atrot); | 567 | public delegate void ScriptAtRotTargetEvent(uint localID, uint handle, Quaternion targetrot, Quaternion atrot); |
568 | |||
569 | /// <summary> | ||
570 | /// Triggered when an object has arrived within a tolerance rotation | ||
571 | /// of a rotation target. | ||
572 | /// </summary> | ||
573 | /// <remarks> | ||
574 | /// Triggered by <see cref="TriggerAtRotTargetEvent"/> | ||
575 | /// in <see cref="SceneObjectGroup.checkAtTargets"/> | ||
576 | /// via <see cref="SceneObjectGroup.ScheduleGroupForFullUpdate"/>, | ||
577 | /// <see cref="Scene.CheckAtTargets"/> via <see cref="Scene.Update"/> | ||
578 | /// </remarks> | ||
295 | public event ScriptAtRotTargetEvent OnScriptAtRotTargetEvent; | 579 | public event ScriptAtRotTargetEvent OnScriptAtRotTargetEvent; |
296 | 580 | ||
297 | public delegate void ScriptNotAtRotTargetEvent(uint localID); | 581 | public delegate void ScriptNotAtRotTargetEvent(uint localID); |
582 | |||
583 | /// <summary> | ||
584 | /// Triggered when an object has a rotation target but has not arrived | ||
585 | /// within a tolerance rotation. | ||
586 | /// </summary> | ||
587 | /// <remarks> | ||
588 | /// Triggered by <see cref="TriggerNotAtRotTargetEvent"/> | ||
589 | /// in <see cref="SceneObjectGroup.checkAtTargets"/> | ||
590 | /// via <see cref="SceneObjectGroup.ScheduleGroupForFullUpdate"/>, | ||
591 | /// <see cref="Scene.CheckAtTargets"/> via <see cref="Scene.Update"/> | ||
592 | /// </remarks> | ||
298 | public event ScriptNotAtRotTargetEvent OnScriptNotAtRotTargetEvent; | 593 | public event ScriptNotAtRotTargetEvent OnScriptNotAtRotTargetEvent; |
299 | 594 | ||
300 | public delegate void ScriptColliding(uint localID, ColliderArgs colliders); | 595 | public delegate void ScriptColliding(uint localID, ColliderArgs colliders); |
596 | |||
597 | /// <summary> | ||
598 | /// Triggered when a physical collision has started between a prim | ||
599 | /// and something other than the region terrain. | ||
600 | /// </summary> | ||
601 | /// <remarks> | ||
602 | /// Triggered by <see cref="TriggerScriptCollidingStart"/> | ||
603 | /// in <see cref="SceneObjectPart.SendCollisionEvent"/> | ||
604 | /// via <see cref="SceneObjectPart.PhysicsCollision"/> | ||
605 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> | ||
606 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> | ||
607 | /// </remarks> | ||
301 | public event ScriptColliding OnScriptColliderStart; | 608 | public event ScriptColliding OnScriptColliderStart; |
609 | |||
610 | /// <summary> | ||
611 | /// Triggered when something that previously collided with a prim has | ||
612 | /// not stopped colliding with it. | ||
613 | /// </summary> | ||
614 | /// <remarks> | ||
615 | /// <seealso cref="OnScriptColliderStart"/> | ||
616 | /// Triggered by <see cref="TriggerScriptColliding"/> | ||
617 | /// in <see cref="SceneObjectPart.SendCollisionEvent"/> | ||
618 | /// via <see cref="SceneObjectPart.PhysicsCollision"/> | ||
619 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> | ||
620 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> | ||
621 | /// </remarks> | ||
302 | public event ScriptColliding OnScriptColliding; | 622 | public event ScriptColliding OnScriptColliding; |
623 | |||
624 | /// <summary> | ||
625 | /// Triggered when something that previously collided with a prim has | ||
626 | /// stopped colliding with it. | ||
627 | /// </summary> | ||
628 | /// <remarks> | ||
629 | /// Triggered by <see cref="TriggerScriptCollidingEnd"/> | ||
630 | /// in <see cref="SceneObjectPart.SendCollisionEvent"/> | ||
631 | /// via <see cref="SceneObjectPart.PhysicsCollision"/> | ||
632 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> | ||
633 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> | ||
634 | /// </remarks> | ||
303 | public event ScriptColliding OnScriptCollidingEnd; | 635 | public event ScriptColliding OnScriptCollidingEnd; |
636 | |||
637 | /// <summary> | ||
638 | /// Triggered when a physical collision has started between an object | ||
639 | /// and the region terrain. | ||
640 | /// </summary> | ||
641 | /// <remarks> | ||
642 | /// Triggered by <see cref="TriggerScriptLandCollidingStart"/> | ||
643 | /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/> | ||
644 | /// via <see cref="SceneObjectPart.PhysicsCollision"/> | ||
645 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> | ||
646 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> | ||
647 | /// </remarks> | ||
304 | public event ScriptColliding OnScriptLandColliderStart; | 648 | public event ScriptColliding OnScriptLandColliderStart; |
649 | |||
650 | /// <summary> | ||
651 | /// Triggered when an object that previously collided with the region | ||
652 | /// terrain has not yet stopped colliding with it. | ||
653 | /// </summary> | ||
654 | /// <remarks> | ||
655 | /// Triggered by <see cref="TriggerScriptLandColliding"/> | ||
656 | /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/> | ||
657 | /// via <see cref="SceneObjectPart.PhysicsCollision"/> | ||
658 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> | ||
659 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> | ||
660 | /// </remarks> | ||
305 | public event ScriptColliding OnScriptLandColliding; | 661 | public event ScriptColliding OnScriptLandColliding; |
662 | |||
663 | /// <summary> | ||
664 | /// Triggered when an object that previously collided with the region | ||
665 | /// terrain has stopped colliding with it. | ||
666 | /// </summary> | ||
667 | /// <remarks> | ||
668 | /// Triggered by <see cref="TriggerScriptLandCollidingEnd"/> | ||
669 | /// in <see cref="SceneObjectPart.SendLandCollisionEvent"/> | ||
670 | /// via <see cref="SceneObjectPart.PhysicsCollision"/> | ||
671 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.OnCollisionUpdate"/> | ||
672 | /// via <see cref="OpenSim.Region.Physics.Manager.PhysicsActor.SendCollisionUpdate"/> | ||
673 | /// </remarks> | ||
306 | public event ScriptColliding OnScriptLandColliderEnd; | 674 | public event ScriptColliding OnScriptLandColliderEnd; |
307 | 675 | ||
308 | public delegate void OnMakeChildAgentDelegate(ScenePresence presence); | 676 | public delegate void OnMakeChildAgentDelegate(ScenePresence presence); |
677 | |||
678 | /// <summary> | ||
679 | /// Triggered when an agent has been made a child agent of a scene. | ||
680 | /// </summary> | ||
681 | /// <remarks> | ||
682 | /// Triggered by <see cref="TriggerOnMakeChildAgent"/> | ||
683 | /// in <see cref="ScenePresence.MakeChildAgent"/> | ||
684 | /// via <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.CrossAgentToNewRegionAsync"/>, | ||
685 | /// <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.DoTeleport"/>, | ||
686 | /// <see cref="OpenSim.Region.CoreModules.InterGrid.KillAUser.ShutdownNoLogout"/> | ||
687 | /// </remarks> | ||
309 | public event OnMakeChildAgentDelegate OnMakeChildAgent; | 688 | public event OnMakeChildAgentDelegate OnMakeChildAgent; |
310 | 689 | ||
311 | public delegate void OnSaveNewWindlightProfileDelegate(); | 690 | public delegate void OnSaveNewWindlightProfileDelegate(); |
312 | public delegate void OnSendNewWindlightProfileTargetedDelegate(RegionLightShareData wl, UUID user); | 691 | public delegate void OnSendNewWindlightProfileTargetedDelegate(RegionLightShareData wl, UUID user); |
313 | 692 | ||
314 | /// <summary> | 693 | /// <summary> |
694 | /// Triggered after the grunt work for adding a root agent to a | ||
695 | /// scene has been performed (resuming attachment scripts, physics, | ||
696 | /// animations etc.) | ||
697 | /// </summary> | ||
698 | /// <remarks> | ||
315 | /// This event is on the critical path for transferring an avatar from one region to another. Try and do | 699 | /// This event is on the critical path for transferring an avatar from one region to another. Try and do |
316 | /// as little work on this event as possible, or do work asynchronously. | 700 | /// as little work on this event as possible, or do work asynchronously. |
317 | /// </summary> | 701 | /// Triggered after <see cref="OnSetRootAgentScene"/> |
702 | /// by <see cref="TriggerOnMakeRootAgent"/> | ||
703 | /// in <see cref="ScenePresence.MakeRootAgent"/> | ||
704 | /// via <see cref="Scene.AgentCrossing"/> | ||
705 | /// and <see cref="ScenePresence.CompleteMovement"/> | ||
706 | /// </remarks> | ||
318 | public event Action<ScenePresence> OnMakeRootAgent; | 707 | public event Action<ScenePresence> OnMakeRootAgent; |
319 | 708 | ||
320 | public event OnSendNewWindlightProfileTargetedDelegate OnSendNewWindlightProfileTargeted; | 709 | public event OnSendNewWindlightProfileTargetedDelegate OnSendNewWindlightProfileTargeted; |
@@ -340,9 +729,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
340 | public event AvatarKillData OnAvatarKilled; | 729 | public event AvatarKillData OnAvatarKilled; |
341 | public delegate void AvatarKillData(uint KillerLocalID, ScenePresence avatar); | 730 | public delegate void AvatarKillData(uint KillerLocalID, ScenePresence avatar); |
342 | 731 | ||
343 | // public delegate void ScriptTimerEvent(uint localID, double timerinterval); | 732 | /* |
344 | 733 | public delegate void ScriptTimerEvent(uint localID, double timerinterval); | |
345 | // public event ScriptTimerEvent OnScriptTimerEvent; | 734 | /// <summary> |
735 | /// Used to be triggered when the LSL timer event fires. | ||
736 | /// </summary> | ||
737 | /// <remarks> | ||
738 | /// Triggered by <see cref="TriggerTimerEvent"/> | ||
739 | /// via <see cref="SceneObjectPart.handleTimerAccounting"/> | ||
740 | /// </remarks> | ||
741 | public event ScriptTimerEvent OnScriptTimerEvent; | ||
742 | */ | ||
346 | 743 | ||
347 | public delegate void EstateToolsSunUpdate(ulong regionHandle, bool FixedTime, bool EstateSun, float LindenHour); | 744 | public delegate void EstateToolsSunUpdate(ulong regionHandle, bool FixedTime, bool EstateSun, float LindenHour); |
348 | public delegate void GetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID); | 745 | public delegate void GetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID); |
@@ -352,12 +749,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
352 | /// <summary> | 749 | /// <summary> |
353 | /// Triggered when an object is added to the scene. | 750 | /// Triggered when an object is added to the scene. |
354 | /// </summary> | 751 | /// </summary> |
752 | /// <remarks> | ||
753 | /// Triggered by <see cref="TriggerObjectAddedToScene"/> | ||
754 | /// in <see cref="Scene.AddNewSceneObject"/>, | ||
755 | /// <see cref="Scene.DuplicateObject"/>, | ||
756 | /// <see cref="Scene.doObjectDuplicateOnRay"/> | ||
757 | /// </remarks> | ||
355 | public event Action<SceneObjectGroup> OnObjectAddedToScene; | 758 | public event Action<SceneObjectGroup> OnObjectAddedToScene; |
356 | 759 | ||
357 | /// <summary> | 760 | /// <summary> |
358 | /// Triggered when an object is removed from the scene. | 761 | /// Delegate for <see cref="OnObjectBeingRemovedFromScene"/> |
359 | /// </summary> | 762 | /// </summary> |
763 | /// <param name="obj">The object being removed from the scene</param> | ||
360 | public delegate void ObjectBeingRemovedFromScene(SceneObjectGroup obj); | 764 | public delegate void ObjectBeingRemovedFromScene(SceneObjectGroup obj); |
765 | |||
766 | /// <summary> | ||
767 | /// Triggered when an object is removed from the scene. | ||
768 | /// </summary> | ||
769 | /// <remarks> | ||
770 | /// Triggered by <see cref="TriggerObjectBeingRemovedFromScene"/> | ||
771 | /// in <see cref="Scene.DeleteSceneObject"/> | ||
772 | /// </remarks> | ||
361 | public event ObjectBeingRemovedFromScene OnObjectBeingRemovedFromScene; | 773 | public event ObjectBeingRemovedFromScene OnObjectBeingRemovedFromScene; |
362 | 774 | ||
363 | public delegate void NoticeNoLandDataFromStorage(); | 775 | public delegate void NoticeNoLandDataFromStorage(); |
@@ -373,6 +785,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
373 | public event RequestParcelPrimCountUpdate OnRequestParcelPrimCountUpdate; | 785 | public event RequestParcelPrimCountUpdate OnRequestParcelPrimCountUpdate; |
374 | 786 | ||
375 | public delegate void ParcelPrimCountTainted(); | 787 | public delegate void ParcelPrimCountTainted(); |
788 | |||
789 | /// <summary> | ||
790 | /// Triggered when the parcel prim count has been altered. | ||
791 | /// </summary> | ||
792 | /// <remarks> | ||
793 | /// Triggered by <see cref="TriggerParcelPrimCountTainted"/> in | ||
794 | /// <see cref="OpenSim.Region.CoreModules.Avatar.Attachments.AttachmentsModule.DetachSingleAttachmentToGround"/>, | ||
795 | /// <see cref="OpenSim.Region.CoreModules.Avatar.Attachments.AttachmentsModule.AttachToAgent"/>, | ||
796 | /// <see cref="Scene.DeleteSceneObject"/>, | ||
797 | /// <see cref="Scene.SelectPrim"/>, | ||
798 | /// <see cref="Scene.DeselectPrim"/>, | ||
799 | /// <see cref="SceneObjectGroup.UpdatePrimFlags"/>, | ||
800 | /// <see cref="SceneObjectGroup.AbsolutePosition"/> | ||
801 | /// </remarks> | ||
376 | public event ParcelPrimCountTainted OnParcelPrimCountTainted; | 802 | public event ParcelPrimCountTainted OnParcelPrimCountTainted; |
377 | public event GetScriptRunning OnGetScriptRunning; | 803 | public event GetScriptRunning OnGetScriptRunning; |
378 | 804 | ||
@@ -432,7 +858,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
432 | /// the scripts may not have started yet | 858 | /// the scripts may not have started yet |
433 | /// Message is non empty string if there were problems loading the oar file | 859 | /// Message is non empty string if there were problems loading the oar file |
434 | /// </summary> | 860 | /// </summary> |
435 | public delegate void OarFileLoaded(Guid guid, string message); | 861 | public delegate void OarFileLoaded(Guid guid, List<UUID> loadedScenes, string message); |
436 | public event OarFileLoaded OnOarFileLoaded; | 862 | public event OarFileLoaded OnOarFileLoaded; |
437 | 863 | ||
438 | /// <summary> | 864 | /// <summary> |
@@ -485,6 +911,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
485 | /// <param name="copy"></param> | 911 | /// <param name="copy"></param> |
486 | /// <param name="original"></param> | 912 | /// <param name="original"></param> |
487 | /// <param name="userExposed">True if the duplicate will immediately be in the scene, false otherwise</param> | 913 | /// <param name="userExposed">True if the duplicate will immediately be in the scene, false otherwise</param> |
914 | /// <remarks> | ||
915 | /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.SceneObjectPart.Copy"/> | ||
916 | /// </remarks> | ||
488 | public event SceneObjectPartCopyDelegate OnSceneObjectPartCopy; | 917 | public event SceneObjectPartCopyDelegate OnSceneObjectPartCopy; |
489 | public delegate void SceneObjectPartCopyDelegate(SceneObjectPart copy, SceneObjectPart original, bool userExposed); | 918 | public delegate void SceneObjectPartCopyDelegate(SceneObjectPart copy, SceneObjectPart original, bool userExposed); |
490 | 919 | ||
@@ -526,9 +955,28 @@ namespace OpenSim.Region.Framework.Scenes | |||
526 | public event PrimsLoaded OnPrimsLoaded; | 955 | public event PrimsLoaded OnPrimsLoaded; |
527 | 956 | ||
528 | public delegate void TeleportStart(IClientAPI client, GridRegion destination, GridRegion finalDestination, uint teleportFlags, bool gridLogout); | 957 | public delegate void TeleportStart(IClientAPI client, GridRegion destination, GridRegion finalDestination, uint teleportFlags, bool gridLogout); |
958 | |||
959 | /// <summary> | ||
960 | /// Triggered when a teleport starts | ||
961 | /// </summary> | ||
962 | /// <remarks> | ||
963 | /// Triggered by <see cref="TriggerTeleportStart"/> | ||
964 | /// in <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.CreateAgent"/> | ||
965 | /// and <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.CreateAgent"/> | ||
966 | /// via <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.DoTeleport"/> | ||
967 | /// </remarks> | ||
529 | public event TeleportStart OnTeleportStart; | 968 | public event TeleportStart OnTeleportStart; |
530 | 969 | ||
531 | public delegate void TeleportFail(IClientAPI client, bool gridLogout); | 970 | public delegate void TeleportFail(IClientAPI client, bool gridLogout); |
971 | |||
972 | /// <summary> | ||
973 | /// Trigered when a teleport fails. | ||
974 | /// </summary> | ||
975 | /// <remarks> | ||
976 | /// Triggered by <see cref="TriggerTeleportFail"/> | ||
977 | /// in <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.Fail"/> | ||
978 | /// via <see cref="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.DoTeleport"/> | ||
979 | /// </remarks> | ||
532 | public event TeleportFail OnTeleportFail; | 980 | public event TeleportFail OnTeleportFail; |
533 | 981 | ||
534 | public class MoneyTransferArgs : EventArgs | 982 | public class MoneyTransferArgs : EventArgs |
@@ -536,7 +984,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
536 | public UUID sender; | 984 | public UUID sender; |
537 | public UUID receiver; | 985 | public UUID receiver; |
538 | 986 | ||
539 | // Always false. The SL protocol sucks. | 987 | /// <summary> |
988 | /// Always false. The SL protocol sucks. | ||
989 | /// </summary> | ||
540 | public bool authenticated = false; | 990 | public bool authenticated = false; |
541 | 991 | ||
542 | public int amount; | 992 | public int amount; |
@@ -593,8 +1043,29 @@ namespace OpenSim.Region.Framework.Scenes | |||
593 | 1043 | ||
594 | public delegate void LandBuy(Object sender, LandBuyArgs e); | 1044 | public delegate void LandBuy(Object sender, LandBuyArgs e); |
595 | 1045 | ||
1046 | /// <summary> | ||
1047 | /// Triggered when an attempt to transfer grid currency occurs | ||
1048 | /// </summary> | ||
1049 | /// <remarks> | ||
1050 | /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.ProcessMoneyTransferRequest"/> | ||
1051 | /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.SubscribeToClientGridEvents"/> | ||
1052 | /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.SubscribeToClientEvents"/> | ||
1053 | /// via <see cref="OpenSim.Region.Framework.Scenes.Scene.AddNewClient"/> | ||
1054 | /// </remarks> | ||
596 | public event MoneyTransferEvent OnMoneyTransfer; | 1055 | public event MoneyTransferEvent OnMoneyTransfer; |
1056 | |||
1057 | /// <summary> | ||
1058 | /// Triggered after after <see cref="OnValidateLandBuy"/> | ||
1059 | /// </summary> | ||
597 | public event LandBuy OnLandBuy; | 1060 | public event LandBuy OnLandBuy; |
1061 | |||
1062 | /// <summary> | ||
1063 | /// Triggered to allow or prevent a real estate transaction | ||
1064 | /// </summary> | ||
1065 | /// <remarks> | ||
1066 | /// Triggered in <see cref="OpenSim.Region.Framework.Scenes.Scene.ProcessParcelBuy"/> | ||
1067 | /// <seealso cref="OpenSim.Region.OptionalModules.World.MoneyModule.SampleMoneyModule.ValidateLandBuy"/> | ||
1068 | /// </remarks> | ||
598 | public event LandBuy OnValidateLandBuy; | 1069 | public event LandBuy OnValidateLandBuy; |
599 | 1070 | ||
600 | public void TriggerOnAttach(uint localID, UUID itemID, UUID avatarID) | 1071 | public void TriggerOnAttach(uint localID, UUID itemID, UUID avatarID) |
@@ -2031,7 +2502,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2031 | } | 2502 | } |
2032 | } | 2503 | } |
2033 | 2504 | ||
2034 | // this lets us keep track of nasty script events like timer, etc. | 2505 | /// <summary> |
2506 | /// this lets us keep track of nasty script events like timer, etc. | ||
2507 | /// </summary> | ||
2508 | /// <param name="objLocalID"></param> | ||
2509 | /// <param name="Interval"></param> | ||
2035 | public void TriggerTimerEvent(uint objLocalID, double Interval) | 2510 | public void TriggerTimerEvent(uint objLocalID, double Interval) |
2036 | { | 2511 | { |
2037 | throw new NotImplementedException("TriggerTimerEvent was thought to be not used anymore and the registration for the event from scene object part has been commented out due to a memory leak"); | 2512 | throw new NotImplementedException("TriggerTimerEvent was thought to be not used anymore and the registration for the event from scene object part has been commented out due to a memory leak"); |
@@ -2093,7 +2568,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2093 | return 6; | 2568 | return 6; |
2094 | } | 2569 | } |
2095 | 2570 | ||
2096 | public void TriggerOarFileLoaded(Guid requestId, string message) | 2571 | public void TriggerOarFileLoaded(Guid requestId, List<UUID> loadedScenes, string message) |
2097 | { | 2572 | { |
2098 | OarFileLoaded handlerOarFileLoaded = OnOarFileLoaded; | 2573 | OarFileLoaded handlerOarFileLoaded = OnOarFileLoaded; |
2099 | if (handlerOarFileLoaded != null) | 2574 | if (handlerOarFileLoaded != null) |
@@ -2102,7 +2577,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2102 | { | 2577 | { |
2103 | try | 2578 | try |
2104 | { | 2579 | { |
2105 | d(requestId, message); | 2580 | d(requestId, loadedScenes, message); |
2106 | } | 2581 | } |
2107 | catch (Exception e) | 2582 | catch (Exception e) |
2108 | { | 2583 | { |