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

@@ -42,6 +42,7 @@ using OpenSim.Region.OptionalModules.World.NPC;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.ScriptEngine.Shared;
using OpenSim.Region.ScriptEngine.Shared.Api;
using OpenSim.Region.ScriptEngine.Shared.Instance;
using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
using OpenSim.Services.Interfaces;
using OpenSim.Tests.Common;
@@ -99,7 +100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(so);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, null);
osslApi.Initialize(new ScriptInstance(m_engine, part, null, 0, false, int.MaxValue));
string notecardName = "appearanceNc";
osslApi.osOwnerSaveAppearance(notecardName);
@@ -125,7 +126,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(so);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, so.RootPart, null);
osslApi.Initialize(new ScriptInstance(m_engine, so.RootPart, null, 0, false, int.MaxValue));
bool gotExpectedException = false;
try
@@ -160,7 +161,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(so);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, null);
osslApi.Initialize(new ScriptInstance(m_engine, part, null, 0, false, int.MaxValue));
string notecardName = "appearanceNc";
osslApi.osOwnerSaveAppearance(notecardName);
@@ -194,7 +195,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(so);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, null);
osslApi.Initialize(new ScriptInstance(m_engine, part, null, 0, false, int.MaxValue));
osslApi.osOwnerSaveAppearance(firstAppearanceNcName);
@@ -232,7 +233,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(so);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, null);
osslApi.Initialize(new ScriptInstance(m_engine, part, null, 0, false, int.MaxValue));
osslApi.osOwnerSaveAppearance(firstAppearanceNcName);
@@ -284,10 +285,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(otherSo);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, null);
osslApi.Initialize(new ScriptInstance(m_engine, part, null, 0, false, int.MaxValue));
OSSL_Api otherOsslApi = new OSSL_Api();
otherOsslApi.Initialize(m_engine, otherPart, null);
otherOsslApi.Initialize(new ScriptInstance(m_engine, otherPart, null, 0, false, int.MaxValue));
string notecardName = "appearanceNc";
osslApi.osOwnerSaveAppearance(notecardName);
@@ -331,7 +332,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
m_scene.AddSceneObject(so);
OSSL_Api osslApi = new OSSL_Api();
osslApi.Initialize(m_engine, part, null);
osslApi.Initialize(new ScriptInstance(m_engine, part, null, 0, false, int.MaxValue));
string notecardName = "appearanceNc";
osslApi.osOwnerSaveAppearance(notecardName);