mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 02:05:34 +08:00
Implement CreateNewOutfitAttachments. This addresses mantis #199.
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user