本文整理汇总了C#中Plasma.hsStream.Seek方法的典型用法代码示例。如果您正苦于以下问题:C# hsStream.Seek方法的具体用法?C# hsStream.Seek怎么用?C# hsStream.Seek使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Plasma.hsStream
的用法示例。
在下文中一共展示了hsStream.Seek方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadPage
/// <summary>
/// Reads in a Plasma Registry Page
/// </summary>
/// <param name="filename">Path to the Plasma Registry Page</param>
/// <param name="readObjects">Whether or not we should read in the KeyedObjects</param>
/// <param name="progress">Whether or not this should dispatch a plOperationProgress event</param>
/// <returns>PageInfo representing this Plasma Registry Page</returns>
public plPageInfo ReadPage(string filename, bool readObjects = false, bool progress = true)
{
plDebugLog.GetLog("ResManager").Debug("Reading PRP: " + Path.GetFileName(filename));
hsStream s = new hsStream(filename);
plPageInfo info = new plPageInfo();
info.Read(s);
fPages.Add(info);
plDebugLog.GetLog("ResManager").Debug("\t* Plasma Version: " + s.Version.ToString());
plDebugLog.GetLog("ResManager").Debug("\t* Location: " + info.Location.ToString());
//if (fVersion == null)
fVersion = s.Version;
s.Seek(info.IndexStart);
List<HoldingKey> keys = IReadKeyring(s, info.Location);
if (!readObjects) {
//Add them to the held list and go away!
//Note: Don't close the stream! It will be
// used later to read the objects!
fHeldKeys.AddRange(keys);
} else {
if (OnProgressStart != null && progress)
OnProgressStart(plOperationType.ReadingPageObjects, info.GetFilename(s.Version));
for (int i = 0; i < keys.Count; i++) {
IReadHoldingKey(keys[i]);
if (OnProgress != null)
OnProgress(keys.Count, i + 1);
}
}
return info;
}