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

@@ -142,11 +142,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
protected IUrlModule m_UrlModule = null;
public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, TaskInventoryItem item)
public void Initialize(IScriptInstance scriptInstance)
{
m_ScriptEngine = ScriptEngine;
m_host = host;
m_item = item;
m_ScriptEngine = scriptInstance.Engine;
m_host = scriptInstance.Part;
m_item = scriptInstance.ScriptTask;
m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>();