From 1cfd63d0b4bfdd1318d55b8d1c70ab25d101328d Mon Sep 17 00:00:00 2001 From: SignpostMarv Date: Sat, 22 Sep 2012 17:44:48 +0100 Subject: [PATCH 1/2] Documenting LSL script-related events --- .../Region/Framework/Scenes/EventManager.cs | 149 +++++++++++++++++- 1 file changed, 147 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 96e979703f..22d395c133 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -460,36 +460,170 @@ namespace OpenSim.Region.Framework.Scenes } /// + /// Triggered when some scene object properties change. + /// + /// /// ScriptChangedEvent is fired when a scene object property that a script might be interested /// in (such as color, scale or inventory) changes. Only enough information sent is for the LSL changed event. /// This is not an indication that the script has changed (see OnUpdateScript for that). /// This event is sent to a script to tell it that some property changed on /// the object the script is in. See http://lslwiki.net/lslwiki/wakka.php?wakka=changed . - /// + /// Triggered by + /// in , + /// + /// public event ScriptChangedEvent OnScriptChangedEvent; public delegate void ScriptChangedEvent(uint localID, uint change); public delegate void ScriptControlEvent(UUID item, UUID avatarID, uint held, uint changed); + + /// + /// Triggered when a script receives control input from an agent. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptControlEvent OnScriptControlEvent; public delegate void ScriptAtTargetEvent(uint localID, uint handle, Vector3 targetpos, Vector3 atpos); + + /// + /// Triggered when an object has arrived within a tolerance distance + /// of a motion target. + /// + /// + /// Triggered by + /// in + /// via , + /// via + /// public event ScriptAtTargetEvent OnScriptAtTargetEvent; public delegate void ScriptNotAtTargetEvent(uint localID); + + /// + /// Triggered when an object has a motion target but has not arrived + /// within a tolerance distance. + /// + /// + /// Triggered by + /// in + /// via , + /// via + /// public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent; public delegate void ScriptAtRotTargetEvent(uint localID, uint handle, Quaternion targetrot, Quaternion atrot); + + /// + /// Triggered when an object has arrived within a tolerance rotation + /// of a rotation target. + /// + /// + /// Triggered by + /// in + /// via , + /// via + /// public event ScriptAtRotTargetEvent OnScriptAtRotTargetEvent; public delegate void ScriptNotAtRotTargetEvent(uint localID); + + /// + /// Triggered when an object has a rotation target but has not arrived + /// within a tolerance rotation. + /// + /// + /// Triggered by + /// in + /// via , + /// via + /// public event ScriptNotAtRotTargetEvent OnScriptNotAtRotTargetEvent; public delegate void ScriptColliding(uint localID, ColliderArgs colliders); + + /// + /// Triggered when a physical collision has started between a prim + /// and something other than the region terrain. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptColliding OnScriptColliderStart; + + /// + /// Triggered when something that previously collided with a prim has + /// not stopped colliding with it. + /// + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptColliding OnScriptColliding; + + /// + /// Triggered when something that previously collided with a prim has + /// stopped colliding with it. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptColliding OnScriptCollidingEnd; + + /// + /// Triggered when a physical collision has started between an object + /// and the region terrain. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptColliding OnScriptLandColliderStart; + + /// + /// Triggered when an object that previously collided with the region + /// terrain has not yet stopped colliding with it. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptColliding OnScriptLandColliding; + + /// + /// Triggered when an object that previously collided with the region + /// terrain has stopped colliding with it. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event ScriptColliding OnScriptLandColliderEnd; public delegate void OnMakeChildAgentDelegate(ScenePresence presence); @@ -550,6 +684,13 @@ namespace OpenSim.Region.Framework.Scenes /* public delegate void ScriptTimerEvent(uint localID, double timerinterval); + /// + /// Used to be triggered when the LSL timer event fires. + /// + /// + /// Triggered by + /// via + /// public event ScriptTimerEvent OnScriptTimerEvent; */ @@ -2293,7 +2434,11 @@ namespace OpenSim.Region.Framework.Scenes } } - // this lets us keep track of nasty script events like timer, etc. + /// + /// this lets us keep track of nasty script events like timer, etc. + /// + /// + /// public void TriggerTimerEvent(uint objLocalID, double Interval) { 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"); From 020103c51e4b8e340c44b2cfbe7826a95b041068 Mon Sep 17 00:00:00 2001 From: SignpostMarv Date: Sun, 23 Sep 2012 15:33:01 +0100 Subject: [PATCH 2/2] Documenting object-related events --- .../Region/Framework/Scenes/EventManager.cs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 22d395c133..e25fa94191 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -345,15 +345,58 @@ namespace OpenSim.Region.Framework.Scenes public event StopScript OnStopScript; public delegate bool SceneGroupMoved(UUID groupID, Vector3 delta); + + /// + /// Triggered when an object is moved. + /// + /// + /// Triggered by + /// in , + /// + /// public event SceneGroupMoved OnSceneGroupMove; public delegate void SceneGroupGrabed(UUID groupID, Vector3 offset, UUID userID); + + /// + /// Triggered when an object is grabbed. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// via + /// public event SceneGroupGrabed OnSceneGroupGrab; public delegate bool SceneGroupSpinStarted(UUID groupID); + + /// + /// Triggered when an object starts to spin. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event SceneGroupSpinStarted OnSceneGroupSpinStart; public delegate bool SceneGroupSpun(UUID groupID, Quaternion rotation); + + /// + /// Triggered when an object is being spun. + /// + /// + /// Triggered by + /// in + /// via + /// via + /// via + /// public event SceneGroupSpun OnSceneGroupSpin; public delegate void LandObjectAdded(ILandObject newParcel);