refactor: In llCollisionSound() use existing GetInventoryItem() method rather than have it iterate through TaskInventory itself.

0.7.4.1
Justin Clark-Casey (justincc) 2012-07-04 21:15:00 +01:00
parent ae64d089c6
commit 3717812ce0
1 changed files with 5 additions and 11 deletions

View File

@ -4290,18 +4290,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
UUID soundId = UUID.Zero; UUID soundId = UUID.Zero;
if (!UUID.TryParse(impact_sound, out soundId)) if (!UUID.TryParse(impact_sound, out soundId))
{ {
lock (m_host.TaskInventory) TaskInventoryItem item = m_host.Inventory.GetInventoryItem(impact_sound);
{
foreach (TaskInventoryItem item in m_host.TaskInventory.Values) if (item != null && item.Type == (int)AssetType.Sound)
{
if (item.Type == (int)AssetType.Sound && item.Name == impact_sound)
{
soundId = item.AssetID; soundId = item.AssetID;
break;
}
}
}
} }
m_host.CollisionSound = soundId; m_host.CollisionSound = soundId;
m_host.CollisionSoundVolume = (float)impact_volume; m_host.CollisionSoundVolume = (float)impact_volume;
} }