aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-27 21:36:03 +0000
committerMelanie Thielker2008-08-27 21:36:03 +0000
commita2985b5655d336b6da3ae48dcf80b9cbb16b90fb (patch)
tree1b02f9b907f75d4085ca6050ed481d82b9c2cfc0 /OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
parent* Updates OGP module to define a default starting point (diff)
downloadopensim-SC_OLD-a2985b5655d336b6da3ae48dcf80b9cbb16b90fb.zip
opensim-SC_OLD-a2985b5655d336b6da3ae48dcf80b9cbb16b90fb.tar.gz
opensim-SC_OLD-a2985b5655d336b6da3ae48dcf80b9cbb16b90fb.tar.bz2
opensim-SC_OLD-a2985b5655d336b6da3ae48dcf80b9cbb16b90fb.tar.xz
Refactor Executor into the script app domain and IScript. This changes
an implicit reference into a proxied one and further reduces memory consumption of XEngine
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
index c28aa9a..9f0dd27 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
@@ -56,6 +56,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
56 56
57 public ScriptBaseClass() 57 public ScriptBaseClass()
58 { 58 {
59 m_Executor = new Executor(this);
60
59 MethodInfo[] myArrayMethodInfo = GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance); 61 MethodInfo[] myArrayMethodInfo = GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance);
60 62
61 foreach (MethodInfo mi in myArrayMethodInfo) 63 foreach (MethodInfo mi in myArrayMethodInfo)
@@ -68,6 +70,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
68 } 70 }
69 } 71 }
70 72
73 private Executor m_Executor = null;
74
75 public int GetStateEventFlags(string state)
76 {
77 return (int)m_Executor.GetStateEventFlags(state);
78 }
79
80 public void ExecuteEvent(string state, string FunctionName, object[] args)
81 {
82 m_Executor.ExecuteEvent(state, FunctionName, args);
83 }
84
71 public string[] GetApis() 85 public string[] GetApis()
72 { 86 {
73 string[] apis = new string[inits.Count]; 87 string[] apis = new string[inits.Count];