aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
diff options
context:
space:
mode:
authorTedd Hansen2007-08-19 06:52:59 +0000
committerTedd Hansen2007-08-19 06:52:59 +0000
commit1893164d26f5ff62784055ee00612bbc9984ae4e (patch)
treeae0e7eca6c26cf85ec89be1f8707443c5edcaae3 /OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
parentMore prep work for adding prims to ODE physics (diff)
downloadopensim-SC_OLD-1893164d26f5ff62784055ee00612bbc9984ae4e.zip
opensim-SC_OLD-1893164d26f5ff62784055ee00612bbc9984ae4e.tar.gz
opensim-SC_OLD-1893164d26f5ff62784055ee00612bbc9984ae4e.tar.bz2
opensim-SC_OLD-1893164d26f5ff62784055ee00612bbc9984ae4e.tar.xz
Moved script loading from ScriptManager to AppDomainManager. Now increases scripts loaded count in AppDomain properly.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs30
1 files changed, 2 insertions, 28 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
index 926ec74..9a65b5c 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
@@ -172,15 +172,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
172 // * Insert yield into code 172 // * Insert yield into code
173 FileName = ProcessYield(FileName); 173 FileName = ProcessYield(FileName);
174 174
175 // * Find next available AppDomain to put it in
176 AppDomain FreeAppDomain = m_scriptEngine.myAppDomainManager.GetFreeAppDomain();
177 175
178 // * Load and start script, for now with dummy host
179
180 //OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO.LSL_BaseClass Script = LoadAndInitAssembly(FreeAppDomain, FileName); 176 //OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO.LSL_BaseClass Script = LoadAndInitAssembly(FreeAppDomain, FileName);
181 177
182 //OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass Script = LoadAndInitAssembly(FreeAppDomain, FileName, ObjectID); 178 //OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass Script = LoadAndInitAssembly(FreeAppDomain, FileName, ObjectID);
183 OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass Script = LoadAndInitAssembly(FreeAppDomain, FileName, ObjectID); 179 OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass Script = m_scriptEngine.myAppDomainManager.LoadScript(FileName, ObjectID);
180
184 181
185 // Add it to our temporary active script keeper 182 // Add it to our temporary active script keeper
186 //Scripts.Add(FullScriptID, Script); 183 //Scripts.Add(FullScriptID, Script);
@@ -207,30 +204,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
207 return FileName; 204 return FileName;
208 } 205 }
209 206
210 /// <summary>
211 /// Does actual loading and initialization of script Assembly
212 /// </summary>
213 /// <param name="FreeAppDomain">AppDomain to load script into</param>
214 /// <param name="FileName">FileName of script assembly (.dll)</param>
215 /// <returns></returns>
216 private OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass LoadAndInitAssembly(AppDomain FreeAppDomain, string FileName, IScriptHost host)
217 {
218
219 //LSL_BaseClass mbrt = (LSL_BaseClass)FreeAppDomain.CreateInstanceAndUnwrap(FileName, "SecondLife.Script");
220 //Console.WriteLine("Base directory: " + AppDomain.CurrentDomain.BaseDirectory);
221 207
222 LSL_BaseClass mbrt = (LSL_BaseClass)FreeAppDomain.CreateInstanceFromAndUnwrap(FileName, "SecondLife.Script");
223 //LSL_BuiltIn_Commands_Interface mbrt = (LSL_BuiltIn_Commands_Interface)FreeAppDomain.CreateInstanceFromAndUnwrap(FileName, "SecondLife.Script");
224 Type mytype = mbrt.GetType();
225
226 Console.WriteLine("is proxy={0}", RemotingServices.IsTransparentProxy(mbrt));
227
228
229 //mbrt.Start();
230 return mbrt;
231 //return (LSL_BaseClass)mbrt;
232
233 }
234 208
235 /// <summary> 209 /// <summary>
236 /// Execute a LL-event-function in Script 210 /// Execute a LL-event-function in Script