* Applying Mantis #1020 (Animations) - Thanks Melanie.

This commit is contained in:
Adam Frisby
2008-04-23 11:52:25 +00:00
parent 41f9bbc26d
commit bca7ab7e36
8 changed files with 178 additions and 82 deletions

View File

@@ -233,6 +233,33 @@ namespace OpenSim.Region.Environment.Scenes
}
}
// Assumes a lock is held on the inventory
private bool InventoryContainsName(string name)
{
foreach (TaskInventoryItem item in m_taskInventory.Values)
{
if(item.Name == name)
return true;
}
return false;
}
private string FindAvailableInventoryName(string name)
{
if(!InventoryContainsName(name))
return name;
int suffix=1;
while(suffix < 256)
{
string tryName=String.Format("{0} {1}", name, suffix);
if(!InventoryContainsName(tryName))
return tryName;
suffix++;
}
return String.Empty;
}
/// <summary>
/// Add an item to this prim's inventory.
/// </summary>
@@ -243,6 +270,12 @@ namespace OpenSim.Region.Environment.Scenes
item.CreationDate = 1000;
item.ParentPartID = UUID;
string name=FindAvailableInventoryName(item.Name);
if(name == String.Empty)
return;
item.Name=name;
lock (m_taskInventory)
{
m_taskInventory.Add(item.ItemID, item);