Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.

This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests.
This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method
in order to facilititate continued script logic regression testing.
This commit is contained in:
Justin Clark-Casey (justincc)
2013-01-15 21:13:22 +00:00
parent 1c240cd555
commit fccb03227e
16 changed files with 110 additions and 79 deletions

View File

@@ -61,10 +61,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
internal bool m_LSFunctionsEnabled = false;
internal IScriptModuleComms m_comms = null;
public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, TaskInventoryItem item)
public void Initialize(IScriptInstance scriptInstance)
{
m_ScriptEngine = ScriptEngine;
m_host = host;
m_ScriptEngine = scriptInstance.Engine;
m_host = scriptInstance.Part;
if (m_ScriptEngine.Config.GetBoolean("AllowLightShareFunctions", false))
m_LSFunctionsEnabled = true;
@@ -92,10 +92,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
get { return m_ScriptEngine.World; }
}
//
//Dumps an error message on the debug console.
//
/// <summary>
/// Dumps an error message on the debug console.
/// </summary>
internal void LSShoutError(string message)
{
if (message.Length > 1023)