From 24628928c3bd7148e9df6920ca8b3ed74aaafb49 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 26 Sep 2008 15:01:03 +0000 Subject: Add per-instance date to DNE to avoid serializing stuff 10 times a second. Clode cleanup and removal of commented stuff in ScriptManager. --- OpenSim/Region/ScriptEngine/Common/Executor.cs | 16 ++++++++-------- OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs | 17 ++++++----------- OpenSim/Region/ScriptEngine/Common/IScript.cs | 3 --- .../Region/ScriptEngine/Common/ScriptBaseClass.cs | 22 ---------------------- 4 files changed, 14 insertions(+), 44 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Common') diff --git a/OpenSim/Region/ScriptEngine/Common/Executor.cs b/OpenSim/Region/ScriptEngine/Common/Executor.cs index 56baa66..792004a 100644 --- a/OpenSim/Region/ScriptEngine/Common/Executor.cs +++ b/OpenSim/Region/ScriptEngine/Common/Executor.cs @@ -43,22 +43,22 @@ namespace OpenSim.Region.ScriptEngine.Common } - protected override scriptEvents DoGetStateEventFlags() + protected override scriptEvents DoGetStateEventFlags(string state) { - // Console.WriteLine("Get event flags for " + m_Script.State); + // Console.WriteLine("Get event flags for " + state); // Check to see if we've already computed the flags for this state scriptEvents eventFlags = scriptEvents.None; - if (m_stateEvents.ContainsKey(m_Script.State)) + if (m_stateEvents.ContainsKey(state)) { - m_stateEvents.TryGetValue(m_Script.State, out eventFlags); + m_stateEvents.TryGetValue(state, out eventFlags); return eventFlags; } // Fill in the events for this state, cache the results in the map foreach (KeyValuePair kvp in m_eventFlagsMap) { - string evname = m_Script.State + "_event_" + kvp.Key; + string evname = state + "_event_" + kvp.Key; Type type = m_Script.GetType(); try { @@ -75,16 +75,16 @@ namespace OpenSim.Region.ScriptEngine.Common } // Save the flags we just computed and return the result - m_stateEvents.Add(m_Script.State, eventFlags); + m_stateEvents.Add(state, eventFlags); return (eventFlags); } - protected override void DoExecuteEvent(string FunctionName, object[] args) + protected override void DoExecuteEvent(string state, string FunctionName, object[] args) { // IMPORTANT: Types and MemberInfo-derived objects require a LOT of memory. // Instead use RuntimeTypeHandle, RuntimeFieldHandle and RunTimeHandle (IntPtr) instead! - string EventName = m_Script.State + "_event_" + FunctionName; + string EventName = state + "_event_" + FunctionName; //#if DEBUG // Console.WriteLine("ScriptEngine: Script event function name: " + EventName); diff --git a/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs b/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs index 3b7e88e..eba88f3 100644 --- a/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs +++ b/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs @@ -140,28 +140,23 @@ namespace OpenSim.Region.ScriptEngine.Common /// /// Name of function to execute /// Arguments to pass to function - public void ExecuteEvent(string FunctionName, object[] args) + public void ExecuteEvent(string state, string FunctionName, object[] args) { - if (m_Running == false) - { - // Script is inactive, do not execute! - return; - } - DoExecuteEvent(FunctionName, args); + DoExecuteEvent(state, FunctionName, args); } - protected abstract void DoExecuteEvent(string FunctionName, object[] args); + protected abstract void DoExecuteEvent(string state, string FunctionName, object[] args); /// /// Compute the events handled by the current state of the script /// /// state mask - public scriptEvents GetStateEventFlags() + public scriptEvents GetStateEventFlags(string state) { - return DoGetStateEventFlags(); + return DoGetStateEventFlags(state); } - protected abstract scriptEvents DoGetStateEventFlags(); + protected abstract scriptEvents DoGetStateEventFlags(string state); /// /// Stop script from running. Event execution will be ignored. diff --git a/OpenSim/Region/ScriptEngine/Common/IScript.cs b/OpenSim/Region/ScriptEngine/Common/IScript.cs index d38dc7b..edd8236 100644 --- a/OpenSim/Region/ScriptEngine/Common/IScript.cs +++ b/OpenSim/Region/ScriptEngine/Common/IScript.cs @@ -32,10 +32,7 @@ namespace OpenSim.Region.ScriptEngine.Common { public interface IScript { - string State { get; set; } - int StartParam { get; set; } ExecutorBase Exec { get; } - string Source { get; set; } void InitApi(string api, IScriptApi LSL_Functions); } } diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs b/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs index dc3ae05..1bcccf1 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs @@ -74,12 +74,6 @@ namespace OpenSim.Region.ScriptEngine.Common private string m_state = "default"; - public String State - { - get { return m_state; } - set { m_state = value; } - } - public void state(string newState) { m_LSL_Functions.state(newState); @@ -98,22 +92,6 @@ namespace OpenSim.Region.ScriptEngine.Common public ILSL_Api m_LSL_Functions; public IOSSL_Api m_OSSL_Functions; - private string _Source = String.Empty; - public string Source - { - get - { - return _Source; - } - set { _Source = value; } - } - - private int m_StartParam = 0; - public int StartParam - { - get { return m_StartParam; } - set { m_StartParam = value; } - } public ScriptBaseClass() { -- cgit v1.1