* This sends collision events to the script engine.

* Unfortunately, there's some kludges with the Async manager and the llDetected functions that I have yet to decipher...  so llDetected functions don't work with collision events at the moment....
This commit is contained in:
Teravus Ovares
2008-06-05 13:24:59 +00:00
parent 622cd3db8b
commit e12baa5eb3
7 changed files with 402 additions and 28 deletions

View File

@@ -158,9 +158,17 @@ namespace OpenSim.Region.Environment.Scenes
public event ScriptAtTargetEvent OnScriptAtTargetEvent;
public delegate void ScriptNotAtTargetEvent(uint localID);
public event ScriptNotAtTargetEvent OnScriptNotAtTargetEvent;
public delegate void ScriptColliding(uint localID, ColliderArgs colliders);
public event ScriptColliding OnScriptColliderStart;
public event ScriptColliding OnScriptColliding;
public event ScriptColliding OnScriptCollidingEnd;
public delegate void OnMakeChildAgentDelegate(ScenePresence presence);
public event OnMakeChildAgentDelegate OnMakeChildAgent;
@@ -293,6 +301,8 @@ namespace OpenSim.Region.Environment.Scenes
}
}
public delegate void MoneyTransferEvent(Object sender, MoneyTransferArgs e);
public delegate void LandBuy(Object sender, LandBuyArgs e);
@@ -357,6 +367,11 @@ namespace OpenSim.Region.Environment.Scenes
private ScriptTimerEvent handlerScriptTimerEvent = null;
private EstateToolsTimeUpdate handlerEstateToolsTimeUpdate = null;
private ScriptColliding handlerCollidingStart = null;
private ScriptColliding handlerColliding = null;
private ScriptColliding handlerCollidingEnd = null;
private SunLindenHour handlerSunGetLindenHour = null;
public void TriggerOnScriptChangedEvent(uint localID, uint change)
@@ -838,5 +853,26 @@ namespace OpenSim.Region.Environment.Scenes
}
return 6;
}
public void TriggerScriptCollidingStart(uint localId, ColliderArgs colliders)
{
handlerCollidingStart = OnScriptColliderStart;
if (handlerCollidingStart != null)
handlerCollidingStart(localId, colliders);
}
public void TriggerScriptColliding(uint localId, ColliderArgs colliders)
{
handlerColliding = OnScriptColliding;
if (handlerColliding != null)
handlerColliding(localId, colliders);
}
public void TriggerScriptCollidingEnd(uint localId, ColliderArgs colliders)
{
handlerCollidingEnd = OnScriptCollidingEnd;
if (handlerCollidingEnd != null)
handlerCollidingEnd(localId, colliders);
}
}
}