Added DeleteFolderCommand to TestClient Added WearCommand to TestClient Organized TestClient Commands git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@820 52acb1d6-8a22-11de-b505-999d5b087335
60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Xml;
|
|
using System.Xml.Serialization;
|
|
|
|
using libsecondlife;
|
|
using libsecondlife.Packets;
|
|
using libsecondlife.InventorySystem;
|
|
|
|
namespace libsecondlife.TestClient
|
|
{
|
|
public class InventoryCommand : Command
|
|
{
|
|
public InventoryCommand(TestClient testClient)
|
|
{
|
|
Name = "i";
|
|
Description = "Prints out inventory.";
|
|
}
|
|
|
|
public override string Execute(string[] args, LLUUID fromAgentID)
|
|
{
|
|
Client.Inventory.DownloadInventory();
|
|
StringBuilder result = new StringBuilder();
|
|
PrintFolder(Client.Inventory.GetRootFolder(), result, 0);
|
|
return result.ToString();
|
|
}
|
|
|
|
void PrintFolder(InventoryFolder folder, StringBuilder output, int indenting)
|
|
{
|
|
Indent(output, indenting);
|
|
output.Append(folder.Name);
|
|
output.Append("\n");
|
|
foreach (InventoryBase b in folder.GetContents())
|
|
{
|
|
InventoryItem item = b as InventoryItem;
|
|
if (item != null)
|
|
{
|
|
Indent(output, indenting + 1);
|
|
output.Append(item.Name);
|
|
output.Append("\n");
|
|
continue;
|
|
}
|
|
InventoryFolder subFolder = b as InventoryFolder;
|
|
if (subFolder != null)
|
|
PrintFolder(subFolder, output, indenting + 1);
|
|
}
|
|
}
|
|
|
|
void Indent(StringBuilder output, int indenting)
|
|
{
|
|
for (int count = 0; count < indenting; count++)
|
|
{
|
|
output.Append(" ");
|
|
}
|
|
}
|
|
}
|
|
} |