OpenSim.Region.Framework.Scenes.Scene.AddInventoryItem C# (CSharp) Method

AddInventoryItem() public method

Add the given inventory item to a user's inventory.
public AddInventoryItem ( InventoryItemBase item ) : bool
item InventoryItemBase
return bool
        public bool AddInventoryItem(InventoryItemBase item)
        {
            if (UUID.Zero == item.Folder)
            {
                InventoryFolderBase f = InventoryService.GetFolderForType(item.Owner, (AssetType)item.AssetType);
                if (f != null)
                {
//                    m_log.DebugFormat(
//                        "[LOCAL INVENTORY SERVICES CONNECTOR]: Found folder {0} type {1} for item {2}", 
//                        f.Name, (AssetType)f.Type, item.Name);
                    
                    item.Folder = f.ID;
                }
                else
                {
                    f = InventoryService.GetRootFolder(item.Owner);
                    if (f != null)
                    {
                        item.Folder = f.ID;
                    }
                    else
                    {
                        m_log.WarnFormat(
                            "[AGENT INVENTORY]: Could not find root folder for {0} when trying to add item {1} with no parent folder specified",
                            item.Owner, item.Name);
                        return false;
                    }
                }
            }
            
            if (InventoryService.AddItem(item))
            {
                int userlevel = 0;
                if (Permissions.IsGod(item.Owner))
                {
                    userlevel = 1;
                }
                EventManager.TriggerOnNewInventoryItemUploadComplete(item.Owner, item.AssetID, item.Name, userlevel);
                
                return true;
            }
            else
            {
                m_log.WarnFormat(
                    "[AGENT INVENTORY]: Agent {0} could not add item {1} {2}",
                    item.Owner, item.Name, item.ID);

                return false;
            }
        }
        

Same methods

Scene::AddInventoryItem ( IClientAPI remoteClient, InventoryItemBase item ) : void
Scene::AddInventoryItem ( UUID AgentID, InventoryItemBase item ) : void

Usage Example

Ejemplo n.º 1
0
 public static InventoryItemBase CreateInventoryItem(
     Scene scene, string itemName, UUID itemId, string folderPath, UUID userId)
 {
     InventoryItemBase item = new InventoryItemBase();
     item.Name = itemName;
     item.AssetID = AssetHelpers.CreateAsset(scene, userId).FullID;
     item.ID = itemId;
     
     // Really quite bad since the objs folder could be moved in the future and confuse the tests
     InventoryFolderBase objsFolder = scene.InventoryService.GetFolderForType(userId, AssetType.Object);
     
     item.Folder = objsFolder.ID;
     scene.AddInventoryItem(item);
     
     return item;
 }
All Usage Examples Of OpenSim.Region.Framework.Scenes.Scene::AddInventoryItem
Scene