本文整理汇总了C#中OpenMetaverse.InventoryFolder.DownloadContents方法的典型用法代码示例。如果您正苦于以下问题:C# InventoryFolder.DownloadContents方法的具体用法?C# InventoryFolder.DownloadContents怎么用?C# InventoryFolder.DownloadContents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenMetaverse.InventoryFolder
的用法示例。
在下文中一共展示了InventoryFolder.DownloadContents方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrintFolder
void PrintFolder(InventoryFolder folder, StringBuilder result, int indent)
{
folder.DownloadContents(TimeSpan.FromSeconds(10));
foreach (InventoryBase b in folder)
{
if (b is InventoryFolder)
{
result.Append(Print(b as InventoryFolder, indent));
PrintFolder(b as InventoryFolder, result, indent + 1);
}
else if (b is InventoryItem)
{
result.Append(Print(b as InventoryItem, indent));
}
}
}
示例2: BackupFolder
/// <summary>
/// BackupFolder - recurse through the inventory nodes sending scripts and notecards to the transfer queue
/// </summary>
/// <param name="folder">The current leaf in the inventory tree</param>
/// <param name="sPathSoFar">path so far, in the form @"c:\here" -- this needs to be "clean" for the current filesystem</param>
private void BackupFolder(InventoryFolder folder, string sPathSoFar)
{
StringBuilder sbRequests = new StringBuilder();
if (folder.IsStale)
folder.DownloadContents(TimeSpan.FromSeconds(10));
// first scan this folder for text
foreach (InventoryBase ib in folder)
{
if (BackupWorker.CancellationPending)
return;
if (ib is InventoryItem)
{
InventoryItem ii = ib as InventoryItem;
if (ii.Data.AssetType == AssetType.LSLText || ii.Data.AssetType == AssetType.Notecard)
{
// check permissions on scripts
if (ii.Data.AssetType == AssetType.LSLText)
{
if ((ii.Data.Permissions.OwnerMask & PermissionMask.Modify) == PermissionMask.None)
{
// skip this one
continue;
}
}
string sExtension = (ii.Data.AssetType == AssetType.LSLText) ? ".lsl" : ".txt";
// make the output file
string sPath = sPathSoFar + @"\" + MakeValid(ii.Name.Trim()) + sExtension;
// create the new qdi
QueuedDownloadInfo qdi = new QueuedDownloadInfo(sPath, ii.Data.AssetUUID, ii.UUID, UUID.Zero,
Client.Self.AgentID, ii.Data.AssetType);
// add it to the queue
lock (PendingDownloads)
{
TextItemsFound++;
PendingDownloads.Enqueue(qdi);
}
}
}
}
// now run any subfolders
foreach (InventoryBase ib in folder)
{
if (BackupWorker.CancellationPending)
return;
else if (ib is InventoryFolder)
BackupFolder(ib as InventoryFolder, sPathSoFar + @"\" + MakeValid(ib.Name.Trim()));
}
}