Mantis#1437. Patch one of four. Thank you kindly, Melanie for:

Corrects the XEngine's script startup semantics.
Completes llRequestAgentData
Implements llDetectedLink
Fixes a few minor issues
This commit is contained in:
Charles Krinke
2008-06-05 14:15:15 +00:00
parent e2d87b04e3
commit e3c14e9b24
6 changed files with 95 additions and 37 deletions

View File

@@ -79,8 +79,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{
// Add to queue for all scripts in ObjectID object
XDetectParams[] det = new XDetectParams[1];
det[0] = new XDetectParams();
det[0].Key = remoteClient.AgentId;
SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(
localID);
if(part == null)
return;
det[0].LinkNum = 0;
if(part.ParentGroup.Children.Count > 0)
det[0].LinkNum = part.LinkNum + 1;
myScriptEngine.PostObjectEvent(localID, new XEventParams(
"touch_start", new Object[] { new LSL_Types.LSLInteger(1) },
det));
@@ -91,11 +101,21 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{
// Add to queue for all scripts in ObjectID object
XDetectParams[] det = new XDetectParams[1];
det[0] = new XDetectParams();
det[0].Key = remoteClient.AgentId;
det[0].OffsetPos = new LSL_Types.Vector3(offsetPos.X,
offsetPos.Y,
offsetPos.Z);
SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(
localID);
if(part == null)
return;
det[0].LinkNum = 0;
if(part.ParentGroup.Children.Count > 0)
det[0].LinkNum = part.LinkNum + 1;
myScriptEngine.PostObjectEvent(localID, new XEventParams(
"touch", new Object[] { new LSL_Types.LSLInteger(1) },
det));
@@ -105,8 +125,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{
// Add to queue for all scripts in ObjectID object
XDetectParams[] det = new XDetectParams[1];
det[0] = new XDetectParams();
det[0].Key = remoteClient.AgentId;
SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(
localID);
if(part == null)
return;
det[0].LinkNum = 0;
if(part.ParentGroup.Children.Count > 0)
det[0].LinkNum = part.LinkNum + 1;
myScriptEngine.PostObjectEvent(localID, new XEventParams(
"touch_end", new Object[] { new LSL_Types.LSLInteger(1) },
det));
@@ -137,6 +167,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{
// Add to queue for all scripts in ObjectID object
XDetectParams[] det = new XDetectParams[1];
det[0] = new XDetectParams();
det[0].Key = remoteClient.AgentId;
myScriptEngine.PostObjectEvent(localID, new XEventParams(
@@ -150,6 +181,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{
// Add to queue for all scripts in ObjectID object
XDetectParams[] det = new XDetectParams[1];
det[0] = new XDetectParams();
det[0].Key = remoteClient.AgentId;
myScriptEngine.PostObjectEvent(localID, new XEventParams(
@@ -162,6 +194,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{
// Add to queue for all scripts in ObjectID object
XDetectParams[] det = new XDetectParams[1];
det[0] = new XDetectParams();
det[0].Key = remoteClient.AgentId;
myScriptEngine.PostObjectEvent(localID, new XEventParams(