diff options
Added OnRemoveScript(uint localID, LLUUID itemID) event , trigged when a script in a primitive is deleted.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index fa1b865..9cbd65b 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -208,6 +208,26 @@ namespace OpenSim.Region.Environment.Scenes | |||
208 | } | 208 | } |
209 | } | 209 | } |
210 | 210 | ||
211 | public void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID) | ||
212 | { | ||
213 | bool hasPrim = false; | ||
214 | foreach (EntityBase ent in Entities.Values) | ||
215 | { | ||
216 | if (ent is SceneObjectGroup) | ||
217 | { | ||
218 | hasPrim = ((SceneObjectGroup)ent).HasChildPrim(localID); | ||
219 | if (hasPrim != false) | ||
220 | { | ||
221 | int type = ((SceneObjectGroup)ent).RemoveInventoryItem(remoteClient, localID, itemID); | ||
222 | if (type == 10) | ||
223 | { | ||
224 | this.EventManager.TriggerRemoveScript(localID, itemID); | ||
225 | } | ||
226 | } | ||
227 | } | ||
228 | } | ||
229 | } | ||
230 | |||
211 | public void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID) | 231 | public void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID) |
212 | { | 232 | { |
213 | CachedUserInfo userInfo = commsManager.UserProfiles.GetUserDetails(remoteClient.AgentId); | 233 | CachedUserInfo userInfo = commsManager.UserProfiles.GetUserDetails(remoteClient.AgentId); |