public bool TryGetItem(string name, out InventoryTaskItem item)
 {
     LazyInitialize();
     return items.TryGetValue(name, out item);
 }
        public void AddOrUpdateItem(InventoryTaskItem item, bool replace, bool allowedDrop)
        {
            LazyInitialize();

            item.ParentObjectID = hostObject.Prim.ID;

            if (replace)
            {
                InventoryTaskItem oldItem;
                if (items.TryGetValue(item.Name, out oldItem))
                {
                    item.ID = oldItem.ID;
                    items.Remove(item.ID, item.Name);
                }
            }
            else
            {
                item.Name = NextAvailableFilename(item.Name);
            }

            if (item.ID == UUID.Zero)
                item.ID = UUID.Random();

            items.Add(item.ID, item.Name, item);

            UpdateTaskInventoryAsset();

            // Post a script event
            Changed change = allowedDrop ? Changed.ALLOWED_DROP : Changed.INVENTORY;
            hostObject.Scene.ScriptEngine.PostObjectEvent(hostObject.Prim.ID, new EventParams(
                "changed", new object[] { new ScriptTypes.LSL_Integer((uint)change) }, new DetectParams[0]));
        }
 public bool TryGetItem(UUID itemID, out InventoryTaskItem item)
 {
     LazyInitialize();
     return items.TryGetValue(itemID, out item);
 }
 public void StartScript(InventoryTaskItem script, int startParam, bool triggerOnRezEvent)
 {
     LazyInitialize();
     throw new NotImplementedException();
 }