mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 03:45:35 +08:00
Convergence is almost complete. This brings the diff between the API to < 10k
and makes it use a common set of types in both engine. Fixes the issues with running both engines and HTTP requests / listens / timers etc.. Also fixes a couple of minor Scene issues and a CTB by nullref.
This commit is contained in:
@@ -58,7 +58,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
|
||||
while (httpInfo != null)
|
||||
{
|
||||
//m_ScriptEngine.Log.Info("[AsyncLSL]:" + httpInfo.response_body + httpInfo.status);
|
||||
//System.Console.WriteLine("[AsyncLSL]:" + httpInfo.response_body + httpInfo.status);
|
||||
|
||||
// Deliver data to prim's remote_data handler
|
||||
//
|
||||
@@ -77,7 +77,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
new LSL_Types.LSLString(httpInfo.response_body)
|
||||
};
|
||||
|
||||
foreach (IScriptEngine e in m_CmdManager.ScriptEngines)
|
||||
foreach (IEventReceiver e in m_CmdManager.ScriptEngines)
|
||||
{
|
||||
if (e.PostObjectEvent(httpInfo.localID,
|
||||
new EventParams("http_response",
|
||||
|
||||
@@ -29,6 +29,7 @@ using System;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Modules.Scripting.WorldComm;
|
||||
using OpenSim.Region.ScriptEngine.Interfaces;
|
||||
using OpenSim.Region.ScriptEngine.Shared;
|
||||
using OpenSim.Region.ScriptEngine.Shared.Api;
|
||||
|
||||
@@ -66,10 +67,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
new LSL_Types.LSLString(lInfo.GetMessage())
|
||||
};
|
||||
|
||||
m_CmdManager.m_ScriptEngine.PostScriptEvent(
|
||||
lInfo.GetItemID(), new EventParams(
|
||||
"listen", resobj,
|
||||
new DetectParams[0]));
|
||||
foreach (IEventReceiver e in m_CmdManager.ScriptEngines)
|
||||
{
|
||||
e.PostScriptEvent(
|
||||
lInfo.GetItemID(), new EventParams(
|
||||
"listen", resobj,
|
||||
new DetectParams[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,28 +156,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
SensorSweep(ts);
|
||||
}
|
||||
|
||||
public LSL_Types.list GetSensorList(uint m_localID, UUID m_itemID)
|
||||
{
|
||||
lock (SenseLock)
|
||||
{
|
||||
Dictionary<UUID, LSL_Types.list> Obj = null;
|
||||
if (!SenseEvents.TryGetValue(m_localID, out Obj))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
lock (Obj)
|
||||
{
|
||||
// Get script
|
||||
LSL_Types.list SenseList = null;
|
||||
if (!Obj.TryGetValue(m_itemID, out SenseList))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return SenseList;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SensorSweep(SenseRepeatClass ts)
|
||||
{
|
||||
SceneObjectPart SensePoint = ts.host;
|
||||
|
||||
@@ -108,7 +108,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
// Time has passed?
|
||||
if (ts.next < DateTime.Now.Ticks)
|
||||
{
|
||||
// Console.WriteLine("Time has passed: Now: " + DateTime.Now.Ticks + ", Passed: " + ts.next);
|
||||
//Console.WriteLine("Time has passed: Now: " + DateTime.Now.Ticks + ", Passed: " + ts.next);
|
||||
// Add it to queue
|
||||
m_CmdManager.m_ScriptEngine.PostScriptEvent(ts.itemID,
|
||||
new EventParams("timer", new Object[0],
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
new LSL_Types.LSLString(rInfo.GetStrVal())
|
||||
};
|
||||
|
||||
foreach (IScriptEngine e in m_CmdManager.ScriptEngines)
|
||||
foreach (IEventReceiver e in m_CmdManager.ScriptEngines)
|
||||
{
|
||||
if (e.PostScriptEvent(
|
||||
rInfo.GetItemID(), new EventParams(
|
||||
@@ -100,7 +100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||
new LSL_Types.LSLString(srdInfo.sdata)
|
||||
};
|
||||
|
||||
foreach (IScriptEngine e in m_CmdManager.ScriptEngines)
|
||||
foreach (IEventReceiver e in m_CmdManager.ScriptEngines)
|
||||
{
|
||||
if (e.PostScriptEvent(
|
||||
srdInfo.m_itemID, new EventParams(
|
||||
|
||||
Reference in New Issue
Block a user