Implement CreateNewOutfitAttachments. This addresses mantis #199.

This commit is contained in:
Tom
2010-08-06 11:39:10 -07:00
parent e941da205b
commit 330343505c
11 changed files with 65 additions and 3 deletions

View File

@@ -648,6 +648,8 @@ namespace OpenSim.Region.Framework.Scenes
return;
}
if (newName == null) newName = item.Name;
AssetBase asset = AssetService.Get(item.AssetID.ToString());
if (asset != null)
@@ -694,6 +696,24 @@ namespace OpenSim.Region.Framework.Scenes
return asset;
}
/// <summary>
/// Move an item within the agent's inventory, and leave a copy (used in making a new outfit)
/// </summary>
public void MoveInventoryItemsLeaveCopy(IClientAPI remoteClient, List<InventoryItemBase> items, UUID destfolder)
{
List<InventoryItemBase> moveitems = new List<InventoryItemBase>();
foreach (InventoryItemBase b in items)
{
CopyInventoryItem(remoteClient, 0, remoteClient.AgentId, b.ID, b.Folder, null);
InventoryItemBase n = InventoryService.GetItem(b);
n.Folder = destfolder;
moveitems.Add(n);
remoteClient.SendInventoryItemCreateUpdate(n, 0);
}
MoveInventoryItem(remoteClient, moveitems);
}
/// <summary>
/// Move an item within the agent's inventory.
/// </summary>

View File

@@ -2922,6 +2922,7 @@ namespace OpenSim.Region.Framework.Scenes
client.OnFetchInventory += HandleFetchInventory;
client.OnUpdateInventoryItem += UpdateInventoryItemAsset;
client.OnCopyInventoryItem += CopyInventoryItem;
client.OnMoveItemsAndLeaveCopy += MoveInventoryItemsLeaveCopy;
client.OnMoveInventoryItem += MoveInventoryItem;
client.OnRemoveInventoryItem += RemoveInventoryItem;
client.OnRemoveInventoryFolder += RemoveInventoryFolder;