diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/EventManager.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/EventManager.cs | 637 |
1 files changed, 637 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/EventManager.cs b/OpenSim/Region/Environment/Scenes/EventManager.cs new file mode 100644 index 0000000..7ff9213 --- /dev/null +++ b/OpenSim/Region/Environment/Scenes/EventManager.cs | |||
@@ -0,0 +1,637 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using libsecondlife; | ||
30 | using OpenSim.Framework; | ||
31 | using OpenSim.Region.Environment.Interfaces; | ||
32 | using Caps=OpenSim.Framework.Communications.Capabilities.Caps; | ||
33 | |||
34 | namespace OpenSim.Region.Environment.Scenes | ||
35 | { | ||
36 | /// <summary> | ||
37 | /// A class for triggering remote scene events. | ||
38 | /// </summary> | ||
39 | public class EventManager | ||
40 | { | ||
41 | public delegate void OnFrameDelegate(); | ||
42 | |||
43 | public event OnFrameDelegate OnFrame; | ||
44 | |||
45 | public delegate void ClientMovement(ScenePresence client); | ||
46 | |||
47 | public event ClientMovement OnClientMovement; | ||
48 | |||
49 | public delegate void OnTerrainTickDelegate(); | ||
50 | |||
51 | public event OnTerrainTickDelegate OnTerrainTick; | ||
52 | |||
53 | public delegate void OnBackupDelegate(IRegionDataStore datastore); | ||
54 | |||
55 | public event OnBackupDelegate OnBackup; | ||
56 | |||
57 | public delegate void OnNewClientDelegate(IClientAPI client); | ||
58 | |||
59 | public event OnNewClientDelegate OnNewClient; | ||
60 | |||
61 | public delegate void OnNewPresenceDelegate(ScenePresence presence); | ||
62 | |||
63 | public event OnNewPresenceDelegate OnNewPresence; | ||
64 | |||
65 | public delegate void OnRemovePresenceDelegate(LLUUID agentId); | ||
66 | |||
67 | public event OnRemovePresenceDelegate OnRemovePresence; | ||
68 | |||
69 | public delegate void OnParcelPrimCountUpdateDelegate(); | ||
70 | |||
71 | public event OnParcelPrimCountUpdateDelegate OnParcelPrimCountUpdate; | ||
72 | |||
73 | public delegate void OnParcelPrimCountAddDelegate(SceneObjectGroup obj); | ||
74 | |||
75 | public event OnParcelPrimCountAddDelegate OnParcelPrimCountAdd; | ||
76 | |||
77 | public delegate void OnPluginConsoleDelegate(string[] args); | ||
78 | |||
79 | public event OnPluginConsoleDelegate OnPluginConsole; | ||
80 | |||
81 | public delegate void OnShutdownDelegate(); | ||
82 | |||
83 | public event OnShutdownDelegate OnShutdown; | ||
84 | |||
85 | public delegate void ObjectGrabDelegate(uint localID, LLVector3 offsetPos, IClientAPI remoteClient); | ||
86 | public delegate void ObjectDeGrabDelegate(uint localID, IClientAPI remoteClient); | ||
87 | |||
88 | public delegate void OnPermissionErrorDelegate(LLUUID user, string reason); | ||
89 | |||
90 | public event ObjectGrabDelegate OnObjectGrab; | ||
91 | public event ObjectDeGrabDelegate OnObjectDeGrab; | ||
92 | |||
93 | public event OnPermissionErrorDelegate OnPermissionError; | ||
94 | |||
95 | public delegate void NewRezScript(uint localID, LLUUID itemID, string script); | ||
96 | |||
97 | public event NewRezScript OnRezScript; | ||
98 | |||
99 | public delegate void RemoveScript(uint localID, LLUUID itemID); | ||
100 | |||
101 | public event RemoveScript OnRemoveScript; | ||
102 | |||
103 | public delegate bool SceneGroupMoved(LLUUID groupID, LLVector3 delta); | ||
104 | |||
105 | public event SceneGroupMoved OnSceneGroupMove; | ||
106 | |||
107 | public delegate void SceneGroupGrabed(LLUUID groupID, LLVector3 offset, LLUUID userID); | ||
108 | |||
109 | public event SceneGroupGrabed OnSceneGroupGrab; | ||
110 | |||
111 | public delegate void LandObjectAdded(ILandObject newParcel); | ||
112 | |||
113 | public event LandObjectAdded OnLandObjectAdded; | ||
114 | |||
115 | public delegate void LandObjectRemoved(LLUUID globalID); | ||
116 | |||
117 | public event LandObjectRemoved OnLandObjectRemoved; | ||
118 | |||
119 | public delegate void AvatarEnteringNewParcel(ScenePresence avatar, int localLandID, LLUUID regionID); | ||
120 | |||
121 | public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel; | ||
122 | |||
123 | |||
124 | public delegate void SignificantClientMovement(IClientAPI remote_client); | ||
125 | |||
126 | public event SignificantClientMovement OnSignificantClientMovement; | ||
127 | |||
128 | |||
129 | |||
130 | public delegate void NewGridInstantMessage(GridInstantMessage message); | ||
131 | |||
132 | public event NewGridInstantMessage OnGridInstantMessageToIMModule; | ||
133 | |||
134 | public event NewGridInstantMessage OnGridInstantMessageToFriendsModule; | ||
135 | |||
136 | public event NewGridInstantMessage OnGridInstantMessageToGroupsModule; | ||
137 | |||
138 | public delegate void ClientClosed(LLUUID clientID); | ||
139 | |||
140 | public event ClientClosed OnClientClosed; | ||
141 | |||
142 | public delegate void ScriptChangedEvent(uint localID, uint change); | ||
143 | |||
144 | public event ScriptChangedEvent OnScriptChangedEvent; | ||
145 | |||
146 | public delegate void ScriptControlEvent(uint localID, LLUUID item, LLUUID avatarID, uint held, uint changed); | ||
147 | |||
148 | public event ScriptControlEvent OnScriptControlEvent; | ||
149 | |||
150 | public delegate void ScriptAtTargetEvent(uint localID, uint handle, LLVector3 targetpos, LLVector3 atpos); | ||
151 | |||
152 | public event ScriptAtTargetEvent OnScriptAtTargetEvent; | ||
153 | |||
154 | public delegate void ScriptNotAtTargetEvent(uint localID); | ||
155 | |||
156 | public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent; | ||
157 | |||
158 | public event OnNewPresenceDelegate OnMakeChildAgent; | ||
159 | |||
160 | public delegate void NewInventoryItemUploadComplete(LLUUID avatarID, LLUUID assetID, string name, int userlevel); | ||
161 | |||
162 | public event NewInventoryItemUploadComplete OnNewInventoryItemUploadComplete; | ||
163 | |||
164 | public delegate void RequestChangeWaterHeight(float height); | ||
165 | |||
166 | public event RequestChangeWaterHeight OnRequestChangeWaterHeight; | ||
167 | |||
168 | public delegate void AvatarKillData(uint KillerLocalID, ScenePresence avatar); | ||
169 | |||
170 | public event AvatarKillData OnAvatarKilled; | ||
171 | |||
172 | /// <summary> | ||
173 | /// RegisterCapsEvent is called by Scene after the Caps object | ||
174 | /// has been instantiated and before it is return to the | ||
175 | /// client and provides region modules to add their caps. | ||
176 | /// </summary> | ||
177 | public delegate void RegisterCapsEvent(LLUUID agentID, Caps caps); | ||
178 | public event RegisterCapsEvent OnRegisterCaps; | ||
179 | /// <summary> | ||
180 | /// DeregisterCapsEvent is called by Scene when the caps | ||
181 | /// handler for an agent are removed. | ||
182 | /// </summary> | ||
183 | public delegate void DeregisterCapsEvent(LLUUID agentID, Caps caps); | ||
184 | public event DeregisterCapsEvent OnDeregisterCaps; | ||
185 | |||
186 | public class MoneyTransferArgs : EventArgs | ||
187 | { | ||
188 | public LLUUID sender; | ||
189 | public LLUUID receiver; | ||
190 | |||
191 | // Always false. The SL protocol sucks. | ||
192 | public bool authenticated = false; | ||
193 | |||
194 | public int amount; | ||
195 | public int transactiontype; | ||
196 | public string description; | ||
197 | |||
198 | public MoneyTransferArgs(LLUUID asender, LLUUID areceiver, int aamount, int atransactiontype, string adescription) | ||
199 | { | ||
200 | sender = asender; | ||
201 | receiver = areceiver; | ||
202 | amount = aamount; | ||
203 | transactiontype = atransactiontype; | ||
204 | description = adescription; | ||
205 | } | ||
206 | } | ||
207 | |||
208 | public class LandBuyArgs : EventArgs | ||
209 | { | ||
210 | public LLUUID agentId = LLUUID.Zero; | ||
211 | |||
212 | public LLUUID groupId = LLUUID.Zero; | ||
213 | |||
214 | public LLUUID parcelOwnerID = LLUUID.Zero; | ||
215 | |||
216 | public bool final = false; | ||
217 | public bool groupOwned = false; | ||
218 | public bool removeContribution = false; | ||
219 | public int parcelLocalID = 0; | ||
220 | public int parcelArea = 0; | ||
221 | public int parcelPrice = 0; | ||
222 | public bool authenticated = false; | ||
223 | public bool landValidated = false; | ||
224 | public bool economyValidated = false; | ||
225 | public int transactionID = 0; | ||
226 | public int amountDebited = 0; | ||
227 | |||
228 | |||
229 | public LandBuyArgs(LLUUID pagentId, LLUUID pgroupId, bool pfinal, bool pgroupOwned, | ||
230 | bool premoveContribution, int pparcelLocalID, int pparcelArea, int pparcelPrice, | ||
231 | bool pauthenticated) | ||
232 | { | ||
233 | agentId = pagentId; | ||
234 | groupId = pgroupId; | ||
235 | final = pfinal; | ||
236 | groupOwned = pgroupOwned; | ||
237 | removeContribution = premoveContribution; | ||
238 | parcelLocalID = pparcelLocalID; | ||
239 | parcelArea = pparcelArea; | ||
240 | parcelPrice = pparcelPrice; | ||
241 | authenticated = pauthenticated; | ||
242 | } | ||
243 | } | ||
244 | |||
245 | public delegate void MoneyTransferEvent(Object sender, MoneyTransferArgs e); | ||
246 | |||
247 | public delegate void LandBuy(Object sender, LandBuyArgs e); | ||
248 | |||
249 | public event MoneyTransferEvent OnMoneyTransfer; | ||
250 | public event LandBuy OnLandBuy; | ||
251 | public event LandBuy OnValidateLandBuy; | ||
252 | |||
253 | /* Designated Event Deletage Instances */ | ||
254 | |||
255 | private ScriptChangedEvent handlerScriptChangedEvent = null; //OnScriptChangedEvent; | ||
256 | private ScriptAtTargetEvent handlerScriptAtTargetEvent = null; | ||
257 | private ScriptNotAtTargetEvent handlerScriptNotAtTargetEvent = null; | ||
258 | private ClientMovement handlerClientMovement = null; //OnClientMovement; | ||
259 | private OnPermissionErrorDelegate handlerPermissionError = null; //OnPermissionError; | ||
260 | private OnPluginConsoleDelegate handlerPluginConsole = null; //OnPluginConsole; | ||
261 | private OnFrameDelegate handlerFrame = null; //OnFrame; | ||
262 | private OnNewClientDelegate handlerNewClient = null; //OnNewClient; | ||
263 | private OnNewPresenceDelegate handlerNewPresence = null; //OnNewPresence; | ||
264 | private OnRemovePresenceDelegate handlerRemovePresence = null; //OnRemovePresence; | ||
265 | private OnBackupDelegate handlerBackup = null; //OnBackup; | ||
266 | private OnParcelPrimCountUpdateDelegate handlerParcelPrimCountUpdate = null; //OnParcelPrimCountUpdate; | ||
267 | private MoneyTransferEvent handlerMoneyTransfer = null; //OnMoneyTransfer; | ||
268 | private OnParcelPrimCountAddDelegate handlerParcelPrimCountAdd = null; //OnParcelPrimCountAdd; | ||
269 | private OnShutdownDelegate handlerShutdown = null; //OnShutdown; | ||
270 | private ObjectGrabDelegate handlerObjectGrab = null; //OnObjectGrab; | ||
271 | private ObjectDeGrabDelegate handlerObjectDeGrab = null; //OnObjectDeGrab; | ||
272 | private NewRezScript handlerRezScript = null; //OnRezScript; | ||
273 | private RemoveScript handlerRemoveScript = null; //OnRemoveScript; | ||
274 | private SceneGroupMoved handlerSceneGroupMove = null; //OnSceneGroupMove; | ||
275 | private SceneGroupGrabed handlerSceneGroupGrab = null; //OnSceneGroupGrab; | ||
276 | private LandObjectAdded handlerLandObjectAdded = null; //OnLandObjectAdded; | ||
277 | private LandObjectRemoved handlerLandObjectRemoved = null; //OnLandObjectRemoved; | ||
278 | private AvatarEnteringNewParcel handlerAvatarEnteringNewParcel = null; //OnAvatarEnteringNewParcel; | ||
279 | private NewGridInstantMessage handlerGridInstantMessageToIM = null; //OnGridInstantMessageToIMModule; | ||
280 | private NewGridInstantMessage handlerGridInstantMessageToFriends = null; //OnGridInstantMessageToFriendsModule; | ||
281 | private ClientClosed handlerClientClosed = null; //OnClientClosed; | ||
282 | private OnNewPresenceDelegate handlerMakeChildAgent = null; //OnMakeChildAgent; | ||
283 | private OnTerrainTickDelegate handlerTerrainTick = null; // OnTerainTick; | ||
284 | private RegisterCapsEvent handlerRegisterCaps = null; // OnRegisterCaps; | ||
285 | private DeregisterCapsEvent handlerDeregisterCaps = null; // OnDeregisterCaps; | ||
286 | private NewInventoryItemUploadComplete handlerNewInventoryItemUpdateComplete = null; | ||
287 | private RequestChangeWaterHeight handlerRequestChangeWaterHeight = null; //OnRequestChangeWaterHeight | ||
288 | private ScriptControlEvent handlerScriptControlEvent = null; | ||
289 | private SignificantClientMovement handlerSignificantClientMovement = null; | ||
290 | |||
291 | private LandBuy handlerLandBuy = null; | ||
292 | private LandBuy handlerValidateLandBuy = null; | ||
293 | private AvatarKillData handlerAvatarKill = null; | ||
294 | |||
295 | public void TriggerOnScriptChangedEvent(uint localID, uint change) | ||
296 | { | ||
297 | handlerScriptChangedEvent = OnScriptChangedEvent; | ||
298 | if (handlerScriptChangedEvent != null) | ||
299 | handlerScriptChangedEvent(localID, change); | ||
300 | } | ||
301 | |||
302 | public void TriggerOnClientMovement(ScenePresence avatar) | ||
303 | { | ||
304 | handlerClientMovement = OnClientMovement; | ||
305 | if (handlerClientMovement != null) | ||
306 | handlerClientMovement(avatar); | ||
307 | } | ||
308 | |||
309 | public void TriggerPermissionError(LLUUID user, string reason) | ||
310 | { | ||
311 | handlerPermissionError = OnPermissionError; | ||
312 | if (handlerPermissionError != null) | ||
313 | handlerPermissionError(user, reason); | ||
314 | } | ||
315 | |||
316 | public void TriggerOnPluginConsole(string[] args) | ||
317 | { | ||
318 | handlerPluginConsole = OnPluginConsole; | ||
319 | if (handlerPluginConsole != null) | ||
320 | handlerPluginConsole(args); | ||
321 | } | ||
322 | |||
323 | public void TriggerOnFrame() | ||
324 | { | ||
325 | handlerFrame = OnFrame; | ||
326 | if (handlerFrame != null) | ||
327 | { | ||
328 | handlerFrame(); | ||
329 | } | ||
330 | } | ||
331 | |||
332 | public void TriggerOnNewClient(IClientAPI client) | ||
333 | { | ||
334 | handlerNewClient = OnNewClient; | ||
335 | if (handlerNewClient != null) | ||
336 | handlerNewClient(client); | ||
337 | } | ||
338 | |||
339 | public void TriggerOnNewPresence(ScenePresence presence) | ||
340 | { | ||
341 | handlerNewPresence = OnNewPresence; | ||
342 | if (handlerNewPresence != null) | ||
343 | handlerNewPresence(presence); | ||
344 | } | ||
345 | |||
346 | public void TriggerOnRemovePresence(LLUUID agentId) | ||
347 | { | ||
348 | handlerRemovePresence = OnRemovePresence; | ||
349 | if (handlerRemovePresence != null) | ||
350 | { | ||
351 | handlerRemovePresence(agentId); | ||
352 | } | ||
353 | } | ||
354 | |||
355 | public void TriggerOnBackup(IRegionDataStore dstore) | ||
356 | { | ||
357 | handlerBackup = OnBackup; | ||
358 | if (handlerBackup != null) | ||
359 | { | ||
360 | handlerBackup(dstore); | ||
361 | } | ||
362 | } | ||
363 | |||
364 | public void TriggerParcelPrimCountUpdate() | ||
365 | { | ||
366 | handlerParcelPrimCountUpdate = OnParcelPrimCountUpdate; | ||
367 | if (handlerParcelPrimCountUpdate != null) | ||
368 | { | ||
369 | handlerParcelPrimCountUpdate(); | ||
370 | } | ||
371 | } | ||
372 | |||
373 | public void TriggerMoneyTransfer(Object sender, MoneyTransferArgs e) | ||
374 | { | ||
375 | handlerMoneyTransfer = OnMoneyTransfer; | ||
376 | if (handlerMoneyTransfer != null) | ||
377 | { | ||
378 | handlerMoneyTransfer(sender, e); | ||
379 | } | ||
380 | } | ||
381 | |||
382 | public void TriggerTerrainTick() | ||
383 | { | ||
384 | handlerTerrainTick = OnTerrainTick; | ||
385 | if (handlerTerrainTick != null) | ||
386 | { | ||
387 | handlerTerrainTick(); | ||
388 | } | ||
389 | } | ||
390 | |||
391 | public void TriggerParcelPrimCountAdd(SceneObjectGroup obj) | ||
392 | { | ||
393 | handlerParcelPrimCountAdd = OnParcelPrimCountAdd; | ||
394 | if (handlerParcelPrimCountAdd != null) | ||
395 | { | ||
396 | handlerParcelPrimCountAdd(obj); | ||
397 | } | ||
398 | } | ||
399 | |||
400 | public void TriggerShutdown() | ||
401 | { | ||
402 | handlerShutdown = OnShutdown; | ||
403 | if (handlerShutdown != null) | ||
404 | handlerShutdown(); | ||
405 | } | ||
406 | |||
407 | public void TriggerObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) | ||
408 | { | ||
409 | handlerObjectGrab = OnObjectGrab; | ||
410 | if (handlerObjectGrab != null) | ||
411 | { | ||
412 | handlerObjectGrab(localID, offsetPos, remoteClient); | ||
413 | } | ||
414 | } | ||
415 | |||
416 | public void TriggerObjectDeGrab(uint localID, IClientAPI remoteClient) | ||
417 | { | ||
418 | handlerObjectDeGrab = OnObjectDeGrab; | ||
419 | if (handlerObjectDeGrab != null) | ||
420 | { | ||
421 | handlerObjectDeGrab(localID, remoteClient); | ||
422 | } | ||
423 | } | ||
424 | |||
425 | public void TriggerRezScript(uint localID, LLUUID itemID, string script) | ||
426 | { | ||
427 | handlerRezScript = OnRezScript; | ||
428 | if (handlerRezScript != null) | ||
429 | { | ||
430 | handlerRezScript(localID, itemID, script); | ||
431 | } | ||
432 | } | ||
433 | |||
434 | public void TriggerRemoveScript(uint localID, LLUUID itemID) | ||
435 | { | ||
436 | handlerRemoveScript = OnRemoveScript; | ||
437 | if (handlerRemoveScript != null) | ||
438 | { | ||
439 | handlerRemoveScript(localID, itemID); | ||
440 | } | ||
441 | } | ||
442 | |||
443 | public bool TriggerGroupMove(LLUUID groupID, LLVector3 delta) | ||
444 | { | ||
445 | handlerSceneGroupMove = OnSceneGroupMove; | ||
446 | |||
447 | if (handlerSceneGroupMove != null) | ||
448 | { | ||
449 | return handlerSceneGroupMove(groupID, delta); | ||
450 | } | ||
451 | return true; | ||
452 | } | ||
453 | |||
454 | public void TriggerGroupGrab(LLUUID groupID, LLVector3 offset, LLUUID userID) | ||
455 | { | ||
456 | handlerSceneGroupGrab = OnSceneGroupGrab; | ||
457 | if (handlerSceneGroupGrab != null) | ||
458 | { | ||
459 | handlerSceneGroupGrab(groupID, offset, userID); | ||
460 | } | ||
461 | } | ||
462 | |||
463 | public void TriggerLandObjectAdded(ILandObject newParcel) | ||
464 | { | ||
465 | handlerLandObjectAdded = OnLandObjectAdded; | ||
466 | |||
467 | if (handlerLandObjectAdded != null) | ||
468 | { | ||
469 | handlerLandObjectAdded(newParcel); | ||
470 | } | ||
471 | } | ||
472 | |||
473 | public void TriggerLandObjectRemoved(LLUUID globalID) | ||
474 | { | ||
475 | handlerLandObjectRemoved = OnLandObjectRemoved; | ||
476 | if (handlerLandObjectRemoved != null) | ||
477 | { | ||
478 | handlerLandObjectRemoved(globalID); | ||
479 | } | ||
480 | } | ||
481 | |||
482 | public void TriggerLandObjectUpdated(uint localParcelID, ILandObject newParcel) | ||
483 | { | ||
484 | //triggerLandObjectRemoved(localParcelID); | ||
485 | |||
486 | TriggerLandObjectAdded(newParcel); | ||
487 | } | ||
488 | |||
489 | public void TriggerAvatarEnteringNewParcel(ScenePresence avatar, int localLandID, LLUUID regionID) | ||
490 | { | ||
491 | handlerAvatarEnteringNewParcel = OnAvatarEnteringNewParcel; | ||
492 | |||
493 | if (handlerAvatarEnteringNewParcel != null) | ||
494 | { | ||
495 | handlerAvatarEnteringNewParcel(avatar, localLandID, regionID); | ||
496 | } | ||
497 | } | ||
498 | |||
499 | ///<summary>Used to pass instnat messages around between the Scene, the Friends Module and the Instant Messsage Module</summary> | ||
500 | ///<param name="message">Object containing the Instant Message Data</param> | ||
501 | ///<param name="whichModule">A bit vector containing the modules to send the message to</param> | ||
502 | public void TriggerGridInstantMessage(GridInstantMessage message, InstantMessageReceiver whichModule) | ||
503 | { | ||
504 | if ((whichModule & InstantMessageReceiver.IMModule) != 0) | ||
505 | { | ||
506 | handlerGridInstantMessageToIM = OnGridInstantMessageToIMModule; | ||
507 | if (handlerGridInstantMessageToIM != null) | ||
508 | { | ||
509 | handlerGridInstantMessageToIM(message); | ||
510 | } | ||
511 | } | ||
512 | if ((whichModule & InstantMessageReceiver.FriendsModule) != 0) | ||
513 | { | ||
514 | handlerGridInstantMessageToFriends = OnGridInstantMessageToFriendsModule; | ||
515 | if (handlerGridInstantMessageToFriends != null) | ||
516 | { | ||
517 | handlerGridInstantMessageToFriends(message); | ||
518 | } | ||
519 | |||
520 | } | ||
521 | } | ||
522 | |||
523 | public void TriggerClientClosed(LLUUID ClientID) | ||
524 | { | ||
525 | handlerClientClosed = OnClientClosed; | ||
526 | if (handlerClientClosed != null) | ||
527 | { | ||
528 | handlerClientClosed(ClientID); | ||
529 | } | ||
530 | } | ||
531 | |||
532 | public void TriggerOnMakeChildAgent(ScenePresence presence) | ||
533 | { | ||
534 | handlerMakeChildAgent = OnMakeChildAgent; | ||
535 | if (handlerMakeChildAgent != null) | ||
536 | { | ||
537 | handlerMakeChildAgent(presence); | ||
538 | } | ||
539 | } | ||
540 | |||
541 | public void TriggerOnRegisterCaps(LLUUID agentID, Caps caps) | ||
542 | { | ||
543 | handlerRegisterCaps = OnRegisterCaps; | ||
544 | if (handlerRegisterCaps != null) | ||
545 | { | ||
546 | handlerRegisterCaps(agentID, caps); | ||
547 | } | ||
548 | } | ||
549 | |||
550 | public void TriggerOnDeregisterCaps(LLUUID agentID, Caps caps) | ||
551 | { | ||
552 | handlerDeregisterCaps = OnDeregisterCaps; | ||
553 | if (handlerDeregisterCaps != null) | ||
554 | { | ||
555 | handlerDeregisterCaps(agentID, caps); | ||
556 | } | ||
557 | } | ||
558 | |||
559 | public void TriggerOnNewInventoryItemUploadComplete(LLUUID agentID, LLUUID AssetID, String AssetName, int userlevel) | ||
560 | { | ||
561 | handlerNewInventoryItemUpdateComplete = OnNewInventoryItemUploadComplete; | ||
562 | if (handlerNewInventoryItemUpdateComplete != null) | ||
563 | { | ||
564 | handlerNewInventoryItemUpdateComplete(agentID, AssetID, AssetName, userlevel); | ||
565 | } | ||
566 | } | ||
567 | public void TriggerLandBuy (Object sender, LandBuyArgs e) | ||
568 | { | ||
569 | handlerLandBuy = OnLandBuy; | ||
570 | if (handlerLandBuy != null) | ||
571 | { | ||
572 | handlerLandBuy(sender, e); | ||
573 | } | ||
574 | } | ||
575 | public void TriggerValidateLandBuy(Object sender, LandBuyArgs e) | ||
576 | { | ||
577 | handlerValidateLandBuy = OnValidateLandBuy; | ||
578 | if (handlerValidateLandBuy != null) | ||
579 | { | ||
580 | handlerValidateLandBuy(sender, e); | ||
581 | } | ||
582 | } | ||
583 | |||
584 | public void TriggerAtTargetEvent(uint localID, uint handle, LLVector3 targetpos, LLVector3 currentpos) | ||
585 | { | ||
586 | handlerScriptAtTargetEvent = OnScriptAtTargetEvent; | ||
587 | if (handlerScriptAtTargetEvent != null) | ||
588 | { | ||
589 | handlerScriptAtTargetEvent(localID, handle, targetpos, currentpos); | ||
590 | } | ||
591 | } | ||
592 | |||
593 | public void TriggerNotAtTargetEvent(uint localID) | ||
594 | { | ||
595 | handlerScriptNotAtTargetEvent = OnScriptNotAtTargetEvent; | ||
596 | if (handlerScriptNotAtTargetEvent != null) | ||
597 | { | ||
598 | handlerScriptNotAtTargetEvent(localID); | ||
599 | } | ||
600 | } | ||
601 | |||
602 | public void TriggerRequestChangeWaterHeight(float height) | ||
603 | { | ||
604 | handlerRequestChangeWaterHeight = OnRequestChangeWaterHeight; | ||
605 | if (handlerRequestChangeWaterHeight != null) | ||
606 | { | ||
607 | handlerRequestChangeWaterHeight(height); | ||
608 | } | ||
609 | } | ||
610 | public void TriggerAvatarKill(uint KillerObjectLocalID, ScenePresence DeadAvatar) | ||
611 | { | ||
612 | handlerAvatarKill = OnAvatarKilled; | ||
613 | if (handlerAvatarKill != null) | ||
614 | { | ||
615 | handlerAvatarKill(KillerObjectLocalID, DeadAvatar); | ||
616 | } | ||
617 | } | ||
618 | |||
619 | public void TriggerSignificantClientMovement(IClientAPI client) | ||
620 | { | ||
621 | handlerSignificantClientMovement = OnSignificantClientMovement; | ||
622 | if (handlerSignificantClientMovement != null) | ||
623 | { | ||
624 | handlerSignificantClientMovement(client); | ||
625 | |||
626 | } | ||
627 | } | ||
628 | internal void TriggerControlEvent(uint p, LLUUID scriptUUID, LLUUID avatarID, uint held, uint _changed) | ||
629 | { | ||
630 | handlerScriptControlEvent = OnScriptControlEvent; | ||
631 | if (handlerScriptControlEvent != null) | ||
632 | { | ||
633 | handlerScriptControlEvent(p, scriptUUID, avatarID, held, _changed); | ||
634 | } | ||
635 | } | ||
636 | } | ||
637 | } | ||