diff options
author | Tedd Hansen | 2007-08-19 06:52:59 +0000 |
---|---|---|
committer | Tedd Hansen | 2007-08-19 06:52:59 +0000 |
commit | 1893164d26f5ff62784055ee00612bbc9984ae4e (patch) | |
tree | ae0e7eca6c26cf85ec89be1f8707443c5edcaae3 /OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs | |
parent | More prep work for adding prims to ODE physics (diff) | |
download | opensim-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 'OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs | 30 |
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 |