本文整理汇总了C#中IValueReader.ReadMany方法的典型用法代码示例。如果您正苦于以下问题:C# IValueReader.ReadMany方法的具体用法?C# IValueReader.ReadMany怎么用?C# IValueReader.ReadMany使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IValueReader
的用法示例。
在下文中一共展示了IValueReader.ReadMany方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AnimatedGrhData
/// <summary>
/// Initializes a new instance of the <see cref="AnimatedGrhData"/> class.
/// </summary>
/// <param name="r">The <see cref="IValueReader"/>.</param>
/// <param name="grhIndex">The <see cref="GrhIndex"/>.</param>
/// <param name="cat">The <see cref="SpriteCategorization"/>.</param>
/// <exception cref="ArgumentNullException"><paramref name="cat"/> is null.</exception>
/// <exception cref="ArgumentOutOfRangeException"><paramref name="grhIndex"/> is equal to GrhIndex.Invalid.</exception>
AnimatedGrhData(IValueReader r, GrhIndex grhIndex, SpriteCategorization cat) : base(grhIndex, cat)
{
var speed = r.ReadInt(_speedValueKey);
var frames = r.ReadMany(_framesNodeName, (xreader, xname) => xreader.ReadGrhIndex(xname));
_speed = 1f / speed;
_frames = CreateFrames(frames);
_size = GetMaxSize(_frames);
}
示例2: LoadGrhs
void LoadGrhs(IValueReader reader)
{
reader = reader.ReadNode(_mapGrhsNodeName);
// Used GrhIndexes
var usedGrhIndexes = reader.ReadMany(_usedIndiciesNodeName, ((r, key) => r.ReadGrhIndex(key)));
BuildAtlas(usedGrhIndexes);
// MapGrhs
var currentTime = GetTime();
var loadedMapGrhs = reader.ReadManyNodes(_mapGrhsNodeName, x => new MapGrh(x, currentTime));
foreach (var mapGrh in loadedMapGrhs)
{
AddMapGrh(mapGrh);
}
}
示例3: Read
/// <summary>
/// Reads the values for this NPCChatResponseBase from an IValueReader.
/// </summary>
/// <param name="reader">IValueReader to read the values from.</param>
protected void Read(IValueReader reader)
{
var value = reader.ReadByte("Value");
var page = reader.ReadNPCChatDialogItemID("Page");
var text = reader.ReadString("Text");
var actionNames = reader.ReadMany("Actions", ((r, name) => r.ReadString(name)));
var actions = GetActionsFromNames(actionNames);
var cReader = reader.ReadNode("Conditionals");
var hasConditionals = cReader.ReadBool("HasConditionals");
NPCChatConditionalCollectionBase conditionals = null;
if (hasConditionals)
{
conditionals = CreateConditionalCollection();
if (conditionals != null)
conditionals.Read(cReader);
}
SetReadValues(value, page, text, conditionals, actions);
}
示例4: ReadToolBarItems
/// <summary>
/// Reads the items order for a <see cref="ToolBar"/>.
/// </summary>
/// <param name="reader">The <see cref="IValueReader"/> to read from.</param>
/// <returns>The <see cref="KeyValuePair{T,U}"/> where the key is the <see cref="ToolBarVisibility"/> and the value
/// is an ordered list of the control names.</returns>
static KeyValuePair<ToolBarVisibility, IEnumerable<string>> ReadToolBarItems(IValueReader reader)
{
var kvpKey = reader.ReadEnum<ToolBarVisibility>(_toolBarItemsKeyName);
var kvpValue = reader.ReadMany(_toolBarItemsValueName, (r, name) => r.ReadString(name));
return new KeyValuePair<ToolBarVisibility, IEnumerable<string>>(kvpKey, kvpValue);
}