diff options
author | Melanie | 2012-09-27 12:39:24 +0100 |
---|---|---|
committer | Melanie | 2012-09-27 12:39:24 +0100 |
commit | daf84d738548651231a04e2cc561583df20741c6 (patch) | |
tree | bb43c334fa03d92132d14c99afb55cddce94f190 /OpenSim/Region/Framework | |
parent | Merge branch 'master' into careminster (diff) | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-daf84d738548651231a04e2cc561583df20741c6.zip opensim-SC-daf84d738548651231a04e2cc561583df20741c6.tar.gz opensim-SC-daf84d738548651231a04e2cc561583df20741c6.tar.bz2 opensim-SC-daf84d738548651231a04e2cc561583df20741c6.tar.xz |
Merge commit '77355295dadaf3be54ac29d6b3d30901e95c0a32' into careminster
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 192 |
1 files changed, 190 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 67d218b..7133817 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -349,15 +349,58 @@ namespace OpenSim.Region.Framework.Scenes | |||
349 | public event StopScript OnStopScript; | 349 | public event StopScript OnStopScript; |
350 | 350 | ||
351 | 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> | ||
352 | public event SceneGroupMoved OnSceneGroupMove; | 361 | public event SceneGroupMoved OnSceneGroupMove; |
353 | 362 | ||
354 | 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> | ||
355 | public event SceneGroupGrabed OnSceneGroupGrab; | 376 | public event SceneGroupGrabed OnSceneGroupGrab; |
356 | 377 | ||
357 | 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> | ||
358 | public event SceneGroupSpinStarted OnSceneGroupSpinStart; | 390 | public event SceneGroupSpinStarted OnSceneGroupSpinStart; |
359 | 391 | ||
360 | 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> | ||
361 | public event SceneGroupSpun OnSceneGroupSpin; | 404 | public event SceneGroupSpun OnSceneGroupSpin; |
362 | 405 | ||
363 | public delegate void LandObjectAdded(ILandObject newParcel); | 406 | public delegate void LandObjectAdded(ILandObject newParcel); |
@@ -464,36 +507,170 @@ namespace OpenSim.Region.Framework.Scenes | |||
464 | } | 507 | } |
465 | 508 | ||
466 | /// <summary> | 509 | /// <summary> |
510 | /// Triggered when some scene object properties change. | ||
511 | /// </summary> | ||
512 | /// <remarks> | ||
467 | /// 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 |
468 | /// 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. |
469 | /// 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). |
470 | /// 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 |
471 | /// 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 . |
472 | /// </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> | ||
473 | public event ScriptChangedEvent OnScriptChangedEvent; | 522 | public event ScriptChangedEvent OnScriptChangedEvent; |
474 | public delegate void ScriptChangedEvent(uint localID, uint change); | 523 | public delegate void ScriptChangedEvent(uint localID, uint change); |
475 | 524 | ||
476 | 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> | ||
477 | public event ScriptControlEvent OnScriptControlEvent; | 537 | public event ScriptControlEvent OnScriptControlEvent; |
478 | 538 | ||
479 | 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> | ||
480 | public event ScriptAtTargetEvent OnScriptAtTargetEvent; | 551 | public event ScriptAtTargetEvent OnScriptAtTargetEvent; |
481 | 552 | ||
482 | 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> | ||
483 | public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent; | 565 | public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent; |
484 | 566 | ||
485 | 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> | ||
486 | public event ScriptAtRotTargetEvent OnScriptAtRotTargetEvent; | 579 | public event ScriptAtRotTargetEvent OnScriptAtRotTargetEvent; |
487 | 580 | ||
488 | 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> | ||
489 | public event ScriptNotAtRotTargetEvent OnScriptNotAtRotTargetEvent; | 593 | public event ScriptNotAtRotTargetEvent OnScriptNotAtRotTargetEvent; |
490 | 594 | ||
491 | 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> | ||
492 | 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> | ||
493 | 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> | ||
494 | 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> | ||
495 | 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> | ||
496 | 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> | ||
497 | public event ScriptColliding OnScriptLandColliderEnd; | 674 | public event ScriptColliding OnScriptLandColliderEnd; |
498 | 675 | ||
499 | public delegate void OnMakeChildAgentDelegate(ScenePresence presence); | 676 | public delegate void OnMakeChildAgentDelegate(ScenePresence presence); |
@@ -554,6 +731,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
554 | 731 | ||
555 | /* | 732 | /* |
556 | public delegate void ScriptTimerEvent(uint localID, double timerinterval); | 733 | public delegate void ScriptTimerEvent(uint localID, double timerinterval); |
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> | ||
557 | public event ScriptTimerEvent OnScriptTimerEvent; | 741 | public event ScriptTimerEvent OnScriptTimerEvent; |
558 | */ | 742 | */ |
559 | 743 | ||
@@ -2318,7 +2502,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2318 | } | 2502 | } |
2319 | } | 2503 | } |
2320 | 2504 | ||
2321 | // 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> | ||
2322 | public void TriggerTimerEvent(uint objLocalID, double Interval) | 2510 | public void TriggerTimerEvent(uint objLocalID, double Interval) |
2323 | { | 2511 | { |
2324 | 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"); |