Added "StopScriot()" to ScriptManager. Stops Executor from executing events in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload).

This commit is contained in:
Tedd Hansen
2007-08-19 17:47:47 +00:00
parent 3dffc3e3f6
commit 1b826c2fdc
2 changed files with 53 additions and 34 deletions

View File

@@ -17,12 +17,24 @@ namespace OpenSim.Region.ScriptEngine.Common
private IScript m_Script;
private Dictionary<string, MethodInfo> Events = new Dictionary<string, MethodInfo>();
private bool m_Running = true;
public Executor(IScript Script)
{
m_Script = Script;
}
public void StopScript()
{
m_Running = false;
}
public AppDomain GetAppDomain()
{
return AppDomain.CurrentDomain;
}
public void ExecuteEvent(string FunctionName, object[] args)
{
// IMPORTANT: Types and MemberInfo-derived objects require a LOT of memory.
@@ -36,7 +48,11 @@ namespace OpenSim.Region.ScriptEngine.Common
//}
//}
if (m_Running == false)
{
// Script is inactive, do not execute!
return;
}
string EventName = m_Script.State() + "_event_" + FunctionName;