aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
index 14edde4..57794f9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
@@ -250,6 +250,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
250 250
251 } 251 }
252 252
253 public static void StateChange(IScriptEngine engine, uint localID, UUID itemID)
254 {
255 // Remove a specific script
256
257 // Remove dataserver events
258 m_Dataserver[engine].RemoveEvents(localID, itemID);
259
260 IWorldComm comms = engine.World.RequestModuleInterface<IWorldComm>();
261 if (comms != null)
262 comms.DeleteListener(itemID);
263
264 IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>();
265 xmlrpc.DeleteChannels(itemID);
266 xmlrpc.CancelSRDRequests(itemID);
267
268 // Remove Sensors
269 m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID);
270
271 }
272
253 public static Object[] GetSerializationData(IScriptEngine engine, UUID itemID) 273 public static Object[] GetSerializationData(IScriptEngine engine, UUID itemID)
254 { 274 {
255 List<Object> data = new List<Object>(); 275 List<Object> data = new List<Object>();