diff options
author | Charles Krinke | 2008-06-28 16:18:47 +0000 |
---|---|---|
committer | Charles Krinke | 2008-06-28 16:18:47 +0000 |
commit | 2f70baee528ae94a3456c09ebdb60e9a24d7f7d0 (patch) | |
tree | 0e92de124ea526387a4125cd5e673de4c67a4993 /OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs | |
parent | Mantis#1620. Applied Melanie's patch (diff) | |
download | opensim-SC-2f70baee528ae94a3456c09ebdb60e9a24d7f7d0.zip opensim-SC-2f70baee528ae94a3456c09ebdb60e9a24d7f7d0.tar.gz opensim-SC-2f70baee528ae94a3456c09ebdb60e9a24d7f7d0.tar.bz2 opensim-SC-2f70baee528ae94a3456c09ebdb60e9a24d7f7d0.tar.xz |
Mantis#1623. Thank you, Melanie for a patch that:
Fully defines the equality operators on the lsl types and plubs
in the script engine side of the work begun in 0001616 (aly, this one's for you)
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs index eed0b86..75ab2aa 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs | |||
@@ -72,6 +72,8 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
72 | public LLUUID itemID; | 72 | public LLUUID itemID; |
73 | public string script; | 73 | public string script; |
74 | public LUType Action; | 74 | public LUType Action; |
75 | public int startParam; | ||
76 | public bool postOnRez; | ||
75 | } | 77 | } |
76 | 78 | ||
77 | private enum LUType | 79 | private enum LUType |
@@ -223,7 +225,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
223 | } | 225 | } |
224 | else if (item.Action == LUType.Load) | 226 | else if (item.Action == LUType.Load) |
225 | { | 227 | { |
226 | _StartScript(item.localID, item.itemID, item.script); | 228 | _StartScript(item.localID, item.itemID, item.script, item.startParam, item.postOnRez); |
227 | } | 229 | } |
228 | } | 230 | } |
229 | } | 231 | } |
@@ -252,7 +254,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
252 | /// </summary> | 254 | /// </summary> |
253 | /// <param name="itemID"></param> | 255 | /// <param name="itemID"></param> |
254 | /// <param name="localID"></param> | 256 | /// <param name="localID"></param> |
255 | public void StartScript(uint localID, LLUUID itemID, string Script) | 257 | public void StartScript(uint localID, LLUUID itemID, string Script, int startParam, bool postOnRez) |
256 | { | 258 | { |
257 | lock (LUQueue) | 259 | lock (LUQueue) |
258 | { | 260 | { |
@@ -267,6 +269,8 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
267 | ls.itemID = itemID; | 269 | ls.itemID = itemID; |
268 | ls.script = Script; | 270 | ls.script = Script; |
269 | ls.Action = LUType.Load; | 271 | ls.Action = LUType.Load; |
272 | ls.startParam = startParam; | ||
273 | ls.postOnRez = postOnRez; | ||
270 | LUQueue.Enqueue(ls); | 274 | LUQueue.Enqueue(ls); |
271 | } | 275 | } |
272 | } | 276 | } |
@@ -282,6 +286,8 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
282 | ls.localID = localID; | 286 | ls.localID = localID; |
283 | ls.itemID = itemID; | 287 | ls.itemID = itemID; |
284 | ls.Action = LUType.Unload; | 288 | ls.Action = LUType.Unload; |
289 | ls.startParam = 0; | ||
290 | ls.postOnRez = false; | ||
285 | lock (LUQueue) | 291 | lock (LUQueue) |
286 | { | 292 | { |
287 | LUQueue.Enqueue(ls); | 293 | LUQueue.Enqueue(ls); |
@@ -291,7 +297,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
291 | // Create a new instance of the compiler (reuse) | 297 | // Create a new instance of the compiler (reuse) |
292 | //private Compiler.LSL.Compiler LSLCompiler = new Compiler.LSL.Compiler(); | 298 | //private Compiler.LSL.Compiler LSLCompiler = new Compiler.LSL.Compiler(); |
293 | 299 | ||
294 | public abstract void _StartScript(uint localID, LLUUID itemID, string Script); | 300 | public abstract void _StartScript(uint localID, LLUUID itemID, string Script, int startParam, bool postOnRez); |
295 | public abstract void _StopScript(uint localID, LLUUID itemID); | 301 | public abstract void _StopScript(uint localID, LLUUID itemID); |
296 | 302 | ||
297 | 303 | ||
@@ -423,9 +429,10 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
423 | 429 | ||
424 | public void ResetScript(uint localID, LLUUID itemID) | 430 | public void ResetScript(uint localID, LLUUID itemID) |
425 | { | 431 | { |
426 | string script = GetScript(localID, itemID).Source; | 432 | IScript s = GetScript(localID, itemID); |
433 | string script = s.Source; | ||
427 | StopScript(localID, itemID); | 434 | StopScript(localID, itemID); |
428 | StartScript(localID, itemID, script); | 435 | StartScript(localID, itemID, script, s.StartParam, false); |
429 | } | 436 | } |
430 | 437 | ||
431 | 438 | ||