Make "show object part" command correctly display script status.

Uses new IEntityInventory.TryGetScriptInstanceRunning()
Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
This commit is contained in:
Justin Clark-Casey (justincc)
2012-10-31 00:31:18 +00:00
parent 3388534ff5
commit 6235d16c31
7 changed files with 77 additions and 35 deletions

View File

@@ -606,12 +606,18 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands
cdt.AddColumn("Asset UUID", 36);
foreach (TaskInventoryItem item in inv.GetInventoryItems())
{
bool foundScriptInstance, scriptRunning;
foundScriptInstance
= SceneObjectPartInventory.TryGetScriptInstanceRunning(m_scene, item, out scriptRunning);
cdt.AddRow(
item.Name,
((InventoryType)item.InvType).ToString(),
(InventoryType)item.InvType == InventoryType.LSL ? item.ScriptRunning.ToString() : "n/a",
foundScriptInstance ? scriptRunning.ToString() : "n/a",
item.ItemID.ToString(),
item.AssetID.ToString());
}
return sb.Append(cdt.ToString());
}