diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs | 20 |
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 5b22860..693992a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs | |||
@@ -304,6 +304,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
304 | return null; | 304 | return null; |
305 | } | 305 | } |
306 | 306 | ||
307 | public static void StateChange(IScriptEngine engine, uint localID, UUID itemID) | ||
308 | { | ||
309 | // Remove a specific script | ||
310 | |||
311 | // Remove dataserver events | ||
312 | m_Dataserver[engine].RemoveEvents(localID, itemID); | ||
313 | |||
314 | IWorldComm comms = engine.World.RequestModuleInterface<IWorldComm>(); | ||
315 | if (comms != null) | ||
316 | comms.DeleteListener(itemID); | ||
317 | |||
318 | IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>(); | ||
319 | xmlrpc.DeleteChannels(itemID); | ||
320 | xmlrpc.CancelSRDRequests(itemID); | ||
321 | |||
322 | // Remove Sensors | ||
323 | m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID); | ||
324 | |||
325 | } | ||
326 | |||
307 | public static Object[] GetSerializationData(IScriptEngine engine, UUID itemID) | 327 | public static Object[] GetSerializationData(IScriptEngine engine, UUID itemID) |
308 | { | 328 | { |
309 | List<Object> data = new List<Object>(); | 329 | List<Object> data = new List<Object>(); |