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 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>(); |