private InventoryItemBase CopyFrom(InventoryItemBase from, UUID newUserID, UUID defaultFolderID) { InventoryItemBase to = (InventoryItemBase)from.Clone(); to.Owner = newUserID; to.Folder = defaultFolderID; to.ID = UUID.Random(); return to; }
protected void SaveInvItem(InventoryItemBase inventoryItem, string path) { string filename = path + CreateArchiveItemName(inventoryItem); // Record the creator of this item for user record purposes (which might go away soon) m_userUuids[inventoryItem.CreatorIdAsUuid] = 1; InventoryItemBase saveItem = (InventoryItemBase)inventoryItem.Clone(); saveItem.CreatorId = OspResolver.MakeOspa(saveItem.CreatorIdAsUuid, m_scene.CommsManager); string serialization = UserInventoryItemSerializer.Serialize(saveItem); m_archiveWriter.WriteFile(filename, serialization); m_assetGatherer.GatherAssetUuids(saveItem.AssetID, (AssetType)saveItem.AssetType, m_assetUuids); }
private HttpStatusCode CopyItem(UUID agent_id, InventoryItemBase source_item, InventoryFolderBase destination, string destName) { // make sourceItem new item // make copy InventoryItemBase copy = (InventoryItemBase)source_item.Clone(); copy.ID = UUID.Random(); copy.Owner = agent_id; copy.Name = destName; copy.Folder = destination.ID; if (m_InventoryService.AddItem(copy)) { return HttpStatusCode.Created; } else { return HttpStatusCode.InternalServerError; } }