aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs44
1 files changed, 44 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
index a2b5621..71db4ee 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
@@ -31,6 +31,7 @@ using System.Reflection;
31using log4net; 31using log4net;
32using Nini.Config; 32using Nini.Config;
33using OpenSim.Region.Interfaces; 33using OpenSim.Region.Interfaces;
34using OpenSim.Framework;
34using OpenSim.Region.Environment.Interfaces; 35using OpenSim.Region.Environment.Interfaces;
35using OpenSim.Region.Environment.Scenes; 36using OpenSim.Region.Environment.Scenes;
36using OpenSim.Region.ScriptEngine.Interfaces; 37using OpenSim.Region.ScriptEngine.Interfaces;
@@ -135,6 +136,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
135 136
136 m_EventManager.HookUpEvents(); 137 m_EventManager.HookUpEvents();
137 138
139 m_Scene.EventManager.OnScriptReset += OnScriptReset;
140 m_Scene.EventManager.OnGetScriptRunning += OnGetScriptRunning;
141 m_Scene.EventManager.OnStartScript += OnStartScript;
142 m_Scene.EventManager.OnStopScript += OnStopScript;
143
138 m_ScriptManager.Start(); 144 m_ScriptManager.Start();
139 } 145 }
140 146
@@ -310,5 +316,43 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
310 316
311 m_ScriptManager.ResetScript(localID, itemID); 317 m_ScriptManager.ResetScript(localID, itemID);
312 } 318 }
319
320 public void OnScriptReset(uint localID, UUID itemID)
321 {
322 ResetScript(itemID);
323 }
324
325 public void OnStartScript(uint localID, UUID itemID)
326 {
327 InstanceData id = m_ScriptManager.GetScript(localID, itemID);
328 if (id == null)
329 return;
330
331 if (!id.Disabled)
332 id.Running = true;
333 }
334
335 public void OnStopScript(uint localID, UUID itemID)
336 {
337 InstanceData id = m_ScriptManager.GetScript(localID, itemID);
338 if (id == null)
339 return;
340
341 id.Running = false;
342 }
343
344 public void OnGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID)
345 {
346 uint localID = m_ScriptManager.GetLocalID(itemID);
347 if (localID == 0)
348 return;
349
350 InstanceData id = m_ScriptManager.GetScript(localID, itemID);
351 if (id == null)
352 return;
353
354 controllingClient.SendScriptRunningReply(objectID, itemID,
355 id.Running);
356 }
313 } 357 }
314} 358}