Skip to content

Instantly share code, notes, and snippets.

@amis92
Last active October 15, 2020 20:02
Show Gist options
  • Save amis92/99f556a610819667a533525971250c87 to your computer and use it in GitHub Desktop.
Save amis92/99f556a610819667a533525971250c87 to your computer and use it in GitHub Desktop.
XmlSerialization code generation

Generated XmlSerializers source code using modified wham Source Core classes from https://github.com/WarHub/wham/commit/7d6227957b1b13bd84775f83d4d9a64041d7c825

Core classes were modified to all have getters and setters.

This should make writing custom XmlSerialization source code generation easier - to have a basis.

The included code won't work primarily because of ImmutableArray. Immutable collections are not handled correctly by XmlSerializer on deserialization.

Useful links:

using System.Collections.Immutable;
using System.Xml.Serialization;
using WarHub.ArmouryModel.Source;
[assembly: System.Security.AllowPartiallyTrustedCallers()]
[assembly: System.Security.SecurityTransparent()]
[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]
[assembly: System.Xml.Serialization.XmlSerializerVersionAttribute(ParentAssemblyId = @"aa7f77ce-78a9-4f88-836a-b5bbfeef67d9,", Version = @"1.0.0.0")]
// #pragma warning disable CS0219,CS0162
#nullable disable
namespace Microsoft.Xml.Serialization.GeneratedAssembly
{
public class XmlSerializationWriterCatalogueCore : XmlSerializationWriter
{
private const string CatalogueSchemaNs = @"http://www.battlescribe.net/schema/catalogueSchema";
public void Write43_catalogue(object o)
{
WriteStartDocument();
if (o == null)
{
WriteEmptyTag(@"catalogue", CatalogueSchemaNs);
return;
}
TopLevelElement();
Write42_CatalogueCore(@"catalogue", CatalogueSchemaNs, (CatalogueCore)o, false, false);
}
void Write42_CatalogueCore(string n, string ns, CatalogueCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CatalogueCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"CatalogueCore", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"revision", @"", System.Xml.XmlConvert.ToString(o.@Revision));
WriteAttribute(@"battleScribeVersion", @"", o.@BattleScribeVersion);
WriteAttribute(@"authorName", @"", o.@AuthorName);
WriteAttribute(@"authorContact", @"", o.@AuthorContact);
WriteAttribute(@"authorUrl", @"", o.@AuthorUrl);
WriteAttribute(@"library", @"", System.Xml.XmlConvert.ToString(o.@IsLibrary));
WriteAttribute(@"gameSystemId", @"", o.@GamesystemId);
WriteAttribute(@"gameSystemRevision", @"", System.Xml.XmlConvert.ToString(o.@GamesystemRevision));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteElementString(@"readme", CatalogueSchemaNs, o.@Readme);
{
ImmutableArray<PublicationCore> a = o.@Publications;
{
WriteStartElement(@"publications", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write3_PublicationCore(@"publication", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CostTypeCore> a = o.@CostTypes;
{
WriteStartElement(@"costTypes", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write4_CostTypeCore(@"costType", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileTypeCore> a = o.@ProfileTypes;
{
WriteStartElement(@"profileTypes", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write6_ProfileTypeCore(@"profileType", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CategoryEntryCore> a = o.@CategoryEntries;
{
WriteStartElement(@"categoryEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write28_CategoryEntryCore(@"categoryEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ForceEntryCore> a = o.@ForceEntries;
{
WriteStartElement(@"forceEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write30_ForceEntryCore(@"forceEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryCore> a = o.@SelectionEntries;
{
WriteStartElement(@"selectionEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write38_SelectionEntryCore(@"selectionEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<EntryLinkCore> a = o.@EntryLinks;
{
WriteStartElement(@"entryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write35_EntryLinkCore(@"entryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryCore> a = o.@SharedSelectionEntries;
{
WriteStartElement(@"sharedSelectionEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write38_SelectionEntryCore(@"selectionEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryGroupCore> a = o.@SharedSelectionEntryGroups;
{
WriteStartElement(@"sharedSelectionEntryGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write31_SelectionEntryGroupCore(@"selectionEntryGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@SharedRules;
{
WriteStartElement(@"sharedRules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@SharedProfiles;
{
WriteStartElement(@"sharedProfiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@SharedInfoGroups;
{
WriteStartElement(@"sharedInfoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CatalogueLinkCore> a = o.@CatalogueLinks;
{
WriteStartElement(@"catalogueLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write41_CatalogueLinkCore(@"catalogueLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write41_CatalogueLinkCore(string n, string ns, CatalogueLinkCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CatalogueLinkCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"catalogueLink", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"targetId", @"", o.@TargetId);
WriteAttribute(@"type", @"", Write40_CatalogueLinkKind(o.@Type));
WriteAttribute(@"importRootEntries", @"", System.Xml.XmlConvert.ToString(o.@ImportRootEntries));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
string Write40_CatalogueLinkKind(CatalogueLinkKind v)
{
string s = null;
switch (v)
{
case CatalogueLinkKind.@Catalogue: s = @"catalogue"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.CatalogueLinkKind");
}
return s;
}
void Write26_InfoGroupCore(string n, string ns, InfoGroupCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(InfoGroupCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"infoGroup", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write25_InfoLinkCore(string n, string ns, InfoLinkCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(InfoLinkCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"infoLink", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteAttribute(@"targetId", @"", o.@TargetId);
WriteAttribute(@"type", @"", Write24_InfoLinkKind(o.@Type));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write17_ModifierGroupCore(string n, string ns, ModifierGroupCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ModifierGroupCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"modifierGroup", CatalogueSchemaNs);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<RepeatCore> a = o.@Repeats;
{
WriteStartElement(@"repeats", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write9_RepeatCore(@"repeat", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConditionCore> a = o.@Conditions;
{
WriteStartElement(@"conditions", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write11_ConditionCore(@"condition", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConditionGroupCore> a = o.@ConditionGroups;
{
WriteStartElement(@"conditionGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write13_ConditionGroupCore(@"conditionGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write16_ModifierCore(string n, string ns, ModifierCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ModifierCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"modifier", CatalogueSchemaNs);
WriteAttribute(@"type", @"", Write15_ModifierKind(o.@Type));
WriteAttribute(@"field", @"", o.@Field);
WriteAttribute(@"value", @"", o.@Value);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<RepeatCore> a = o.@Repeats;
{
WriteStartElement(@"repeats", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write9_RepeatCore(@"repeat", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConditionCore> a = o.@Conditions;
{
WriteStartElement(@"conditions", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write11_ConditionCore(@"condition", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConditionGroupCore> a = o.@ConditionGroups;
{
WriteStartElement(@"conditionGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write13_ConditionGroupCore(@"conditionGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write13_ConditionGroupCore(string n, string ns, ConditionGroupCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ConditionGroupCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"conditionGroup", CatalogueSchemaNs);
WriteAttribute(@"type", @"", Write12_ConditionGroupKind(o.@Type));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ConditionCore> a = o.@Conditions;
{
WriteStartElement(@"conditions", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write11_ConditionCore(@"condition", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConditionGroupCore> a = o.@ConditionGroups;
{
WriteStartElement(@"conditionGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write13_ConditionGroupCore(@"conditionGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write11_ConditionCore(string n, string ns, ConditionCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ConditionCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"condition", CatalogueSchemaNs);
WriteAttribute(@"field", @"", o.@Field);
WriteAttribute(@"scope", @"", o.@Scope);
WriteAttribute(@"value", @"", System.Xml.XmlConvert.ToString(o.@Value));
WriteAttribute(@"percentValue", @"", System.Xml.XmlConvert.ToString(o.@IsValuePercentage));
WriteAttribute(@"shared", @"", System.Xml.XmlConvert.ToString(o.@Shared));
WriteAttribute(@"includeChildSelections", @"", System.Xml.XmlConvert.ToString(o.@IncludeChildSelections));
WriteAttribute(@"includeChildForces", @"", System.Xml.XmlConvert.ToString(o.@IncludeChildForces));
WriteAttribute(@"childId", @"", o.@ChildId);
WriteAttribute(@"type", @"", Write10_ConditionKind(o.@Type));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
string Write10_ConditionKind(ConditionKind v)
{
string s = null;
switch (v)
{
case ConditionKind.@LessThan: s = @"lessThan"; break;
case ConditionKind.@GreaterThan: s = @"greaterThan"; break;
case ConditionKind.@EqualTo: s = @"equalTo"; break;
case ConditionKind.@NotEqualTo: s = @"notEqualTo"; break;
case ConditionKind.@AtLeast: s = @"atLeast"; break;
case ConditionKind.@AtMost: s = @"atMost"; break;
case ConditionKind.@InstanceOf: s = @"instanceOf"; break;
case ConditionKind.@NotInstanceOf: s = @"notInstanceOf"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.ConditionKind");
}
return s;
}
string Write12_ConditionGroupKind(ConditionGroupKind v)
{
string s = null;
switch (v)
{
case ConditionGroupKind.@And: s = @"and"; break;
case ConditionGroupKind.@Or: s = @"or"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.ConditionGroupKind");
}
return s;
}
void Write9_RepeatCore(string n, string ns, RepeatCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(RepeatCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"repeat", CatalogueSchemaNs);
WriteAttribute(@"field", @"", o.@Field);
WriteAttribute(@"scope", @"", o.@Scope);
WriteAttribute(@"value", @"", System.Xml.XmlConvert.ToString(o.@Value));
WriteAttribute(@"percentValue", @"", System.Xml.XmlConvert.ToString(o.@IsValuePercentage));
WriteAttribute(@"shared", @"", System.Xml.XmlConvert.ToString(o.@Shared));
WriteAttribute(@"includeChildSelections", @"", System.Xml.XmlConvert.ToString(o.@IncludeChildSelections));
WriteAttribute(@"includeChildForces", @"", System.Xml.XmlConvert.ToString(o.@IncludeChildForces));
WriteAttribute(@"childId", @"", o.@ChildId);
WriteAttribute(@"repeats", @"", System.Xml.XmlConvert.ToString(o.@RepeatCount));
WriteAttribute(@"roundUp", @"", System.Xml.XmlConvert.ToString(o.@RoundUp));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
string Write15_ModifierKind(ModifierKind v)
{
string s = null;
switch (v)
{
case ModifierKind.@Set: s = @"set"; break;
case ModifierKind.@Increment: s = @"increment"; break;
case ModifierKind.@Decrement: s = @"decrement"; break;
case ModifierKind.@Append: s = @"append"; break;
case ModifierKind.@Add: s = @"add"; break;
case ModifierKind.@Remove: s = @"remove"; break;
case ModifierKind.@SetPrimary: s = @"set-primary"; break;
case ModifierKind.@UnsetPrimary: s = @"unset-primary"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.ModifierKind");
}
return s;
}
string Write24_InfoLinkKind(InfoLinkKind v)
{
string s = null;
switch (v)
{
case InfoLinkKind.@InfoGroup: s = @"infoGroup"; break;
case InfoLinkKind.@Profile: s = @"profile"; break;
case InfoLinkKind.@Rule: s = @"rule"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.InfoLinkKind");
}
return s;
}
void Write23_RuleCore(string n, string ns, RuleCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(RuleCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"rule", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteElementString(@"description", CatalogueSchemaNs, o.@Description);
WriteEndElement(o);
}
void Write22_ProfileCore(string n, string ns, ProfileCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ProfileCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"profile", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteAttribute(@"typeId", @"", o.@TypeId);
WriteAttribute(@"typeName", @"", o.@TypeName);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CharacteristicCore> a = o.@Characteristics;
{
WriteStartElement(@"characteristics", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write21_CharacteristicCore(@"characteristic", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write21_CharacteristicCore(string n, string ns, CharacteristicCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CharacteristicCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"characteristic", CatalogueSchemaNs);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"typeId", @"", o.@TypeId);
if ((object)o.@Value != null)
{
WriteValue(o.@Value);
}
WriteEndElement(o);
}
void Write31_SelectionEntryGroupCore(string n, string ns, SelectionEntryGroupCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(SelectionEntryGroupCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"selectionEntryGroup", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteAttribute(@"collective", @"", System.Xml.XmlConvert.ToString(o.@Collective));
WriteAttribute(@"import", @"", System.Xml.XmlConvert.ToString(o.@Exported));
WriteAttribute(@"defaultSelectionEntryId", @"", o.@DefaultSelectionEntryId);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConstraintCore> a = o.@Constraints;
{
WriteStartElement(@"constraints", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write20_ConstraintCore(@"constraint", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CategoryLinkCore> a = o.@CategoryLinks;
{
WriteStartElement(@"categoryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write29_CategoryLinkCore(@"categoryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryCore> a = o.@SelectionEntries;
{
WriteStartElement(@"selectionEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write38_SelectionEntryCore(@"selectionEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryGroupCore> a = o.@SelectionEntryGroups;
{
WriteStartElement(@"selectionEntryGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write31_SelectionEntryGroupCore(@"selectionEntryGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<EntryLinkCore> a = o.@EntryLinks;
{
WriteStartElement(@"entryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write35_EntryLinkCore(@"entryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write35_EntryLinkCore(string n, string ns, EntryLinkCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(EntryLinkCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"entryLink", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteAttribute(@"collective", @"", System.Xml.XmlConvert.ToString(o.@Collective));
WriteAttribute(@"import", @"", System.Xml.XmlConvert.ToString(o.@Exported));
WriteAttribute(@"targetId", @"", o.@TargetId);
WriteAttribute(@"type", @"", Write32_EntryLinkKind(o.@Type));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConstraintCore> a = o.@Constraints;
{
WriteStartElement(@"constraints", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write20_ConstraintCore(@"constraint", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CategoryLinkCore> a = o.@CategoryLinks;
{
WriteStartElement(@"categoryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write29_CategoryLinkCore(@"categoryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryCore> a = o.@SelectionEntries;
{
WriteStartElement(@"selectionEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write38_SelectionEntryCore(@"selectionEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryGroupCore> a = o.@SelectionEntryGroups;
{
WriteStartElement(@"selectionEntryGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write31_SelectionEntryGroupCore(@"selectionEntryGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<EntryLinkCore> a = o.@EntryLinks;
{
WriteStartElement(@"entryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write35_EntryLinkCore(@"entryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CostCore> a = o.@Costs;
{
WriteStartElement(@"costs", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write34_CostCore(@"cost", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write34_CostCore(string n, string ns, CostCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CostCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"cost", CatalogueSchemaNs);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"typeId", @"", o.@TypeId);
WriteAttribute(@"value", @"", System.Xml.XmlConvert.ToString(o.@Value));
WriteEndElement(o);
}
void Write38_SelectionEntryCore(string n, string ns, SelectionEntryCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(SelectionEntryCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"selectionEntry", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteAttribute(@"collective", @"", System.Xml.XmlConvert.ToString(o.@Collective));
WriteAttribute(@"import", @"", System.Xml.XmlConvert.ToString(o.@Exported));
WriteAttribute(@"type", @"", Write37_SelectionEntryKind(o.@Type));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConstraintCore> a = o.@Constraints;
{
WriteStartElement(@"constraints", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write20_ConstraintCore(@"constraint", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CategoryLinkCore> a = o.@CategoryLinks;
{
WriteStartElement(@"categoryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write29_CategoryLinkCore(@"categoryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryCore> a = o.@SelectionEntries;
{
WriteStartElement(@"selectionEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write38_SelectionEntryCore(@"selectionEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<SelectionEntryGroupCore> a = o.@SelectionEntryGroups;
{
WriteStartElement(@"selectionEntryGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write31_SelectionEntryGroupCore(@"selectionEntryGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<EntryLinkCore> a = o.@EntryLinks;
{
WriteStartElement(@"entryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write35_EntryLinkCore(@"entryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CostCore> a = o.@Costs;
{
WriteStartElement(@"costs", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write34_CostCore(@"cost", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write29_CategoryLinkCore(string n, string ns, CategoryLinkCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CategoryLinkCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"categoryLink", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteAttribute(@"targetId", @"", o.@TargetId);
WriteAttribute(@"primary", @"", System.Xml.XmlConvert.ToString(o.@Primary));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConstraintCore> a = o.@Constraints;
{
WriteStartElement(@"constraints", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write20_ConstraintCore(@"constraint", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write20_ConstraintCore(string n, string ns, ConstraintCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ConstraintCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"constraint", CatalogueSchemaNs);
WriteAttribute(@"field", @"", o.@Field);
WriteAttribute(@"scope", @"", o.@Scope);
WriteAttribute(@"value", @"", System.Xml.XmlConvert.ToString(o.@Value));
WriteAttribute(@"percentValue", @"", System.Xml.XmlConvert.ToString(o.@IsValuePercentage));
WriteAttribute(@"shared", @"", System.Xml.XmlConvert.ToString(o.@Shared));
WriteAttribute(@"includeChildSelections", @"", System.Xml.XmlConvert.ToString(o.@IncludeChildSelections));
WriteAttribute(@"includeChildForces", @"", System.Xml.XmlConvert.ToString(o.@IncludeChildForces));
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"type", @"", Write19_ConstraintKind(o.@Type));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
string Write19_ConstraintKind(ConstraintKind v)
{
string s = null;
switch (v)
{
case ConstraintKind.@Minimum: s = @"min"; break;
case ConstraintKind.@Maximum: s = @"max"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.ConstraintKind");
}
return s;
}
string Write37_SelectionEntryKind(SelectionEntryKind v)
{
string s = null;
switch (v)
{
case SelectionEntryKind.@Upgrade: s = @"upgrade"; break;
case SelectionEntryKind.@Model: s = @"model"; break;
case SelectionEntryKind.@Unit: s = @"unit"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.SelectionEntryKind");
}
return s;
}
string Write32_EntryLinkKind(EntryLinkKind v)
{
string s = null;
switch (v)
{
case EntryLinkKind.@SelectionEntry: s = @"selectionEntry"; break;
case EntryLinkKind.@SelectionEntryGroup: s = @"selectionEntryGroup"; break;
default: throw CreateInvalidEnumValueException(((long)v).ToString(System.Globalization.CultureInfo.InvariantCulture), @"WarHub.ArmouryModel.Source.EntryLinkKind");
}
return s;
}
void Write30_ForceEntryCore(string n, string ns, ForceEntryCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ForceEntryCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"forceEntry", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConstraintCore> a = o.@Constraints;
{
WriteStartElement(@"constraints", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write20_ConstraintCore(@"constraint", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ForceEntryCore> a = o.@ForceEntries;
{
WriteStartElement(@"forceEntries", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write30_ForceEntryCore(@"forceEntry", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<CategoryLinkCore> a = o.@CategoryLinks;
{
WriteStartElement(@"categoryLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write29_CategoryLinkCore(@"categoryLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write28_CategoryEntryCore(string n, string ns, CategoryEntryCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CategoryEntryCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"categoryEntry", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"publicationId", @"", o.@PublicationId);
WriteAttribute(@"page", @"", o.@Page);
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<ModifierCore> a = o.@Modifiers;
{
WriteStartElement(@"modifiers", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write16_ModifierCore(@"modifier", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ModifierGroupCore> a = o.@ModifierGroups;
{
WriteStartElement(@"modifierGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write17_ModifierGroupCore(@"modifierGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ConstraintCore> a = o.@Constraints;
{
WriteStartElement(@"constraints", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write20_ConstraintCore(@"constraint", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<ProfileCore> a = o.@Profiles;
{
WriteStartElement(@"profiles", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write22_ProfileCore(@"profile", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<RuleCore> a = o.@Rules;
{
WriteStartElement(@"rules", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write23_RuleCore(@"rule", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoGroupCore> a = o.@InfoGroups;
{
WriteStartElement(@"infoGroups", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write26_InfoGroupCore(@"infoGroup", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
{
ImmutableArray<InfoLinkCore> a = o.@InfoLinks;
{
WriteStartElement(@"infoLinks", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write25_InfoLinkCore(@"infoLink", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write6_ProfileTypeCore(string n, string ns, ProfileTypeCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(ProfileTypeCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"profileType", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
{
ImmutableArray<CharacteristicTypeCore> a = o.@CharacteristicTypes;
{
WriteStartElement(@"characteristicTypes", CatalogueSchemaNs, null, false);
for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
{
Write5_CharacteristicTypeCore(@"characteristicType", CatalogueSchemaNs, a[ia], true, false);
}
WriteEndElement();
}
}
WriteEndElement(o);
}
void Write5_CharacteristicTypeCore(string n, string ns, CharacteristicTypeCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CharacteristicTypeCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"characteristicType", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
void Write4_CostTypeCore(string n, string ns, CostTypeCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(CostTypeCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"costType", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"defaultCostLimit", @"", System.Xml.XmlConvert.ToString(o.@DefaultCostLimit));
WriteAttribute(@"hidden", @"", System.Xml.XmlConvert.ToString(o.@Hidden));
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
void Write3_PublicationCore(string n, string ns, PublicationCore o, bool isNullable, bool needType)
{
if ((object)o == null)
{
if (isNullable) WriteNullTagLiteral(n, ns);
return;
}
if (!needType)
{
System.Type t = o.GetType();
if (t == typeof(PublicationCore))
{
}
else
{
throw CreateUnknownTypeException(o);
}
}
WriteStartElement(n, ns, o, false, null);
if (needType) WriteXsiType(@"publication", CatalogueSchemaNs);
WriteAttribute(@"id", @"", o.@Id);
WriteAttribute(@"name", @"", o.@Name);
WriteAttribute(@"shortName", @"", o.@ShortName);
WriteAttribute(@"publisher", @"", o.@Publisher);
WriteAttribute(@"publicationDate", @"", o.@PublicationDate);
WriteAttribute(@"publisherUrl", @"", o.@PublisherUrl);
WriteElementString(@"comment", CatalogueSchemaNs, o.@Comment);
WriteEndElement(o);
}
protected override void InitCallbacks()
{
}
}
public class XmlSerializationReaderCatalogueCore : XmlSerializationReader
{
public object Read43_catalogue()
{
object o = null;
Reader.MoveToContent();
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id1_catalogue && Reader.NamespaceURI == (object)id2_Item)
{
o = Read42_CatalogueCore(false, true);
break;
}
throw CreateUnknownNodeException();
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:catalogue");
}
return o;
}
CatalogueCore Read42_CatalogueCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id3_CatalogueCore && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CatalogueCore o;
o = new CatalogueCore();
ImmutableArray<PublicationCore> a_9 = o.@Publications;
ImmutableArray<CostTypeCore> a_10 = o.@CostTypes;
ImmutableArray<ProfileTypeCore> a_11 = o.@ProfileTypes;
ImmutableArray<CategoryEntryCore> a_12 = o.@CategoryEntries;
ImmutableArray<ForceEntryCore> a_13 = o.@ForceEntries;
ImmutableArray<SelectionEntryCore> a_14 = o.@SelectionEntries;
ImmutableArray<EntryLinkCore> a_15 = o.@EntryLinks;
ImmutableArray<RuleCore> a_16 = o.@Rules;
ImmutableArray<InfoLinkCore> a_17 = o.@InfoLinks;
ImmutableArray<SelectionEntryCore> a_18 = o.@SharedSelectionEntries;
ImmutableArray<SelectionEntryGroupCore> a_19 = o.@SharedSelectionEntryGroups;
ImmutableArray<RuleCore> a_20 = o.@SharedRules;
ImmutableArray<ProfileCore> a_21 = o.@SharedProfiles;
ImmutableArray<InfoGroupCore> a_22 = o.@SharedInfoGroups;
ImmutableArray<CatalogueLinkCore> a_26 = o.@CatalogueLinks;
bool[] paramsRead = new bool[27];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id7_revision && Reader.NamespaceURI == (object)id5_Item)
{
o.@Revision = System.Xml.XmlConvert.ToInt32(Reader.Value);
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id8_battleScribeVersion && Reader.NamespaceURI == (object)id5_Item)
{
o.@BattleScribeVersion = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id9_authorName && Reader.NamespaceURI == (object)id5_Item)
{
o.@AuthorName = Reader.Value;
paramsRead[5] = true;
}
else if (!paramsRead[6] && Reader.LocalName == (object)id10_authorContact && Reader.NamespaceURI == (object)id5_Item)
{
o.@AuthorContact = Reader.Value;
paramsRead[6] = true;
}
else if (!paramsRead[7] && Reader.LocalName == (object)id11_authorUrl && Reader.NamespaceURI == (object)id5_Item)
{
o.@AuthorUrl = Reader.Value;
paramsRead[7] = true;
}
else if (!paramsRead[23] && Reader.LocalName == (object)id12_library && Reader.NamespaceURI == (object)id5_Item)
{
o.@IsLibrary = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[23] = true;
}
else if (!paramsRead[24] && Reader.LocalName == (object)id13_gameSystemId && Reader.NamespaceURI == (object)id5_Item)
{
o.@GamesystemId = Reader.Value;
paramsRead[24] = true;
}
else if (!paramsRead[25] && Reader.LocalName == (object)id14_gameSystemRevision && Reader.NamespaceURI == (object)id5_Item)
{
o.@GamesystemRevision = System.Xml.XmlConvert.ToInt32(Reader.Value);
paramsRead[25] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :revision, :battleScribeVersion, :authorName, :authorContact, :authorUrl, :library, :gameSystemId, :gameSystemRevision");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations0 = 0;
int readerCount0 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (!paramsRead[8] && Reader.LocalName == (object)id16_readme && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Readme = Reader.ReadElementString();
}
paramsRead[8] = true;
break;
}
if (Reader.LocalName == (object)id17_publications && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<PublicationCore> a_9_0 = o.@Publications;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations1 = 0;
int readerCount1 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id18_publication && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read3_PublicationCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:publication");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:publication");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations1, ref readerCount1);
}
ReadEndElement();
}
o.@Publications = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id19_costTypes && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CostTypeCore> a_10_0 = o.@CostTypes;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations2 = 0;
int readerCount2 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id20_costType && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read4_CostTypeCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:costType");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:costType");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations2, ref readerCount2);
}
ReadEndElement();
}
o.@CostTypes = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id21_profileTypes && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileTypeCore> a_11_0 = o.@ProfileTypes;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations3 = 0;
int readerCount3 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id22_profileType && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read6_ProfileTypeCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profileType");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profileType");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations3, ref readerCount3);
}
ReadEndElement();
}
o.@ProfileTypes = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id23_categoryEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CategoryEntryCore> a_12_0 = o.@CategoryEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations4 = 0;
int readerCount4 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id24_categoryEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read28_CategoryEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations4, ref readerCount4);
}
ReadEndElement();
}
o.@CategoryEntries = a_12_0;
}
break;
}
if (Reader.LocalName == (object)id25_forceEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ForceEntryCore> a_13_0 = o.@ForceEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations5 = 0;
int readerCount5 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id26_forceEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_13_0.Add(Read30_ForceEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:forceEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:forceEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations5, ref readerCount5);
}
ReadEndElement();
}
o.@ForceEntries = a_13_0;
}
break;
}
if (Reader.LocalName == (object)id27_selectionEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryCore> a_14_0 = o.@SelectionEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations6 = 0;
int readerCount6 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id28_selectionEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_14_0.Add(Read38_SelectionEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations6, ref readerCount6);
}
ReadEndElement();
}
o.@SelectionEntries = a_14_0;
}
break;
}
if (Reader.LocalName == (object)id29_entryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<EntryLinkCore> a_15_0 = o.@EntryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations7 = 0;
int readerCount7 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id30_entryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_15_0.Add(Read35_EntryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations7, ref readerCount7);
}
ReadEndElement();
}
o.@EntryLinks = a_15_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_16_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations8 = 0;
int readerCount8 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_16_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations8, ref readerCount8);
}
ReadEndElement();
}
o.@Rules = a_16_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_17_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations9 = 0;
int readerCount9 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_17_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations9, ref readerCount9);
}
ReadEndElement();
}
o.@InfoLinks = a_17_0;
}
break;
}
if (Reader.LocalName == (object)id35_sharedSelectionEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryCore> a_18_0 = o.@SharedSelectionEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations10 = 0;
int readerCount10 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id28_selectionEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_18_0.Add(Read38_SelectionEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations10, ref readerCount10);
}
ReadEndElement();
}
o.@SharedSelectionEntries = a_18_0;
}
break;
}
if (Reader.LocalName == (object)id36_sharedSelectionEntryGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryGroupCore> a_19_0 = o.@SharedSelectionEntryGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations11 = 0;
int readerCount11 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id37_selectionEntryGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_19_0.Add(Read31_SelectionEntryGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations11, ref readerCount11);
}
ReadEndElement();
}
o.@SharedSelectionEntryGroups = a_19_0;
}
break;
}
if (Reader.LocalName == (object)id38_sharedRules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_20_0 = o.@SharedRules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations12 = 0;
int readerCount12 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_20_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations12, ref readerCount12);
}
ReadEndElement();
}
o.@SharedRules = a_20_0;
}
break;
}
if (Reader.LocalName == (object)id39_sharedProfiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_21_0 = o.@SharedProfiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations13 = 0;
int readerCount13 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_21_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations13, ref readerCount13);
}
ReadEndElement();
}
o.@SharedProfiles = a_21_0;
}
break;
}
if (Reader.LocalName == (object)id41_sharedInfoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_22_0 = o.@SharedInfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations14 = 0;
int readerCount14 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_22_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations14, ref readerCount14);
}
ReadEndElement();
}
o.@SharedInfoGroups = a_22_0;
}
break;
}
if (Reader.LocalName == (object)id43_catalogueLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CatalogueLinkCore> a_26_0 = o.@CatalogueLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations15 = 0;
int readerCount15 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id44_catalogueLink && Reader.NamespaceURI == (object)id2_Item)
{
a_26_0.Add(Read41_CatalogueLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:catalogueLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:catalogueLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations15, ref readerCount15);
}
ReadEndElement();
}
o.@CatalogueLinks = a_26_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:readme, http://www.battlescribe.net/schema/catalogueSchema:publications, http://www.battlescribe.net/schema/catalogueSchema:costTypes, http://www.battlescribe.net/schema/catalogueSchema:profileTypes, http://www.battlescribe.net/schema/catalogueSchema:categoryEntries, http://www.battlescribe.net/schema/catalogueSchema:forceEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:entryLinks, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:sharedSelectionEntries, http://www.battlescribe.net/schema/catalogueSchema:sharedSelectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:sharedRules, http://www.battlescribe.net/schema/catalogueSchema:sharedProfiles, http://www.battlescribe.net/schema/catalogueSchema:sharedInfoGroups, http://www.battlescribe.net/schema/catalogueSchema:catalogueLinks");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:readme, http://www.battlescribe.net/schema/catalogueSchema:publications, http://www.battlescribe.net/schema/catalogueSchema:costTypes, http://www.battlescribe.net/schema/catalogueSchema:profileTypes, http://www.battlescribe.net/schema/catalogueSchema:categoryEntries, http://www.battlescribe.net/schema/catalogueSchema:forceEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:entryLinks, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:sharedSelectionEntries, http://www.battlescribe.net/schema/catalogueSchema:sharedSelectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:sharedRules, http://www.battlescribe.net/schema/catalogueSchema:sharedProfiles, http://www.battlescribe.net/schema/catalogueSchema:sharedInfoGroups, http://www.battlescribe.net/schema/catalogueSchema:catalogueLinks");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations0, ref readerCount0);
}
ReadEndElement();
return o;
}
CatalogueLinkCore Read41_CatalogueLinkCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id44_catalogueLink && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CatalogueLinkCore o;
o = new CatalogueLinkCore();
bool[] paramsRead = new bool[6];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id45_targetId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TargetId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read40_CatalogueLinkKind(Reader.Value);
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id47_importRootEntries && Reader.NamespaceURI == (object)id5_Item)
{
o.@ImportRootEntries = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :targetId, :type, :importRootEntries");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations16 = 0;
int readerCount16 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations16, ref readerCount16);
}
ReadEndElement();
return o;
}
CatalogueLinkKind Read40_CatalogueLinkKind(string s)
{
switch (s)
{
case @"catalogue": return CatalogueLinkKind.@Catalogue;
default: throw CreateUnknownConstantException(s, typeof(CatalogueLinkKind));
}
}
InfoGroupCore Read26_InfoGroupCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id42_infoGroup && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
InfoGroupCore o;
o = new InfoGroupCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ProfileCore> a_8 = o.@Profiles;
ImmutableArray<RuleCore> a_9 = o.@Rules;
ImmutableArray<InfoGroupCore> a_10 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_11 = o.@InfoLinks;
bool[] paramsRead = new bool[12];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations17 = 0;
int readerCount17 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations18 = 0;
int readerCount18 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations18, ref readerCount18);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations19 = 0;
int readerCount19 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations19, ref readerCount19);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_8_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations20 = 0;
int readerCount20 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations20, ref readerCount20);
}
ReadEndElement();
}
o.@Profiles = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_9_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations21 = 0;
int readerCount21 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations21, ref readerCount21);
}
ReadEndElement();
}
o.@Rules = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_10_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations22 = 0;
int readerCount22 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations22, ref readerCount22);
}
ReadEndElement();
}
o.@InfoGroups = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_11_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations23 = 0;
int readerCount23 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations23, ref readerCount23);
}
ReadEndElement();
}
o.@InfoLinks = a_11_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations17, ref readerCount17);
}
ReadEndElement();
return o;
}
InfoLinkCore Read25_InfoLinkCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id34_infoLink && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
InfoLinkCore o;
o = new InfoLinkCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
bool[] paramsRead = new bool[10];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[8] && Reader.LocalName == (object)id45_targetId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TargetId = Reader.Value;
paramsRead[8] = true;
}
else if (!paramsRead[9] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read24_InfoLinkKind(Reader.Value);
paramsRead[9] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden, :targetId, :type");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations24 = 0;
int readerCount24 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations25 = 0;
int readerCount25 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations25, ref readerCount25);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations26 = 0;
int readerCount26 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations26, ref readerCount26);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations24, ref readerCount24);
}
ReadEndElement();
return o;
}
ModifierGroupCore Read17_ModifierGroupCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id54_modifierGroup && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ModifierGroupCore o;
o = new ModifierGroupCore();
ImmutableArray<RepeatCore> a_1 = o.@Repeats;
ImmutableArray<ConditionCore> a_2 = o.@Conditions;
ImmutableArray<ConditionGroupCore> a_3 = o.@ConditionGroups;
ImmutableArray<ModifierCore> a_4 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_5 = o.@ModifierGroups;
bool[] paramsRead = new bool[6];
while (Reader.MoveToNextAttribute())
{
if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o);
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations27 = 0;
int readerCount27 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id57_repeats && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RepeatCore> a_1_0 = o.@Repeats;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations28 = 0;
int readerCount28 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id58_repeat && Reader.NamespaceURI == (object)id2_Item)
{
a_1_0.Add(Read9_RepeatCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:repeat");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:repeat");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations28, ref readerCount28);
}
ReadEndElement();
}
o.@Repeats = a_1_0;
}
break;
}
if (Reader.LocalName == (object)id59_conditions && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConditionCore> a_2_0 = o.@Conditions;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations29 = 0;
int readerCount29 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id60_condition && Reader.NamespaceURI == (object)id2_Item)
{
a_2_0.Add(Read11_ConditionCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:condition");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:condition");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations29, ref readerCount29);
}
ReadEndElement();
}
o.@Conditions = a_2_0;
}
break;
}
if (Reader.LocalName == (object)id61_conditionGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConditionGroupCore> a_3_0 = o.@ConditionGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations30 = 0;
int readerCount30 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id62_conditionGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_3_0.Add(Read13_ConditionGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:conditionGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:conditionGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations30, ref readerCount30);
}
ReadEndElement();
}
o.@ConditionGroups = a_3_0;
}
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_4_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations31 = 0;
int readerCount31 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_4_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations31, ref readerCount31);
}
ReadEndElement();
}
o.@Modifiers = a_4_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_5_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations32 = 0;
int readerCount32 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_5_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations32, ref readerCount32);
}
ReadEndElement();
}
o.@ModifierGroups = a_5_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:repeats, http://www.battlescribe.net/schema/catalogueSchema:conditions, http://www.battlescribe.net/schema/catalogueSchema:conditionGroups, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:repeats, http://www.battlescribe.net/schema/catalogueSchema:conditions, http://www.battlescribe.net/schema/catalogueSchema:conditionGroups, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations27, ref readerCount27);
}
ReadEndElement();
return o;
}
ModifierCore Read16_ModifierCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id52_modifier && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ModifierCore o;
o = new ModifierCore();
ImmutableArray<RepeatCore> a_1 = o.@Repeats;
ImmutableArray<ConditionCore> a_2 = o.@Conditions;
ImmutableArray<ConditionGroupCore> a_3 = o.@ConditionGroups;
bool[] paramsRead = new bool[7];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[4] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read15_ModifierKind(Reader.Value);
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id63_field && Reader.NamespaceURI == (object)id5_Item)
{
o.@Field = Reader.Value;
paramsRead[5] = true;
}
else if (!paramsRead[6] && Reader.LocalName == (object)id64_value && Reader.NamespaceURI == (object)id5_Item)
{
o.@Value = Reader.Value;
paramsRead[6] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":type, :field, :value");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations33 = 0;
int readerCount33 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id57_repeats && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RepeatCore> a_1_0 = o.@Repeats;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations34 = 0;
int readerCount34 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id58_repeat && Reader.NamespaceURI == (object)id2_Item)
{
a_1_0.Add(Read9_RepeatCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:repeat");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:repeat");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations34, ref readerCount34);
}
ReadEndElement();
}
o.@Repeats = a_1_0;
}
break;
}
if (Reader.LocalName == (object)id59_conditions && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConditionCore> a_2_0 = o.@Conditions;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations35 = 0;
int readerCount35 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id60_condition && Reader.NamespaceURI == (object)id2_Item)
{
a_2_0.Add(Read11_ConditionCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:condition");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:condition");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations35, ref readerCount35);
}
ReadEndElement();
}
o.@Conditions = a_2_0;
}
break;
}
if (Reader.LocalName == (object)id61_conditionGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConditionGroupCore> a_3_0 = o.@ConditionGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations36 = 0;
int readerCount36 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id62_conditionGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_3_0.Add(Read13_ConditionGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:conditionGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:conditionGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations36, ref readerCount36);
}
ReadEndElement();
}
o.@ConditionGroups = a_3_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:repeats, http://www.battlescribe.net/schema/catalogueSchema:conditions, http://www.battlescribe.net/schema/catalogueSchema:conditionGroups");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:repeats, http://www.battlescribe.net/schema/catalogueSchema:conditions, http://www.battlescribe.net/schema/catalogueSchema:conditionGroups");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations33, ref readerCount33);
}
ReadEndElement();
return o;
}
ConditionGroupCore Read13_ConditionGroupCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id62_conditionGroup && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ConditionGroupCore o;
o = new ConditionGroupCore();
ImmutableArray<ConditionCore> a_2 = o.@Conditions;
ImmutableArray<ConditionGroupCore> a_3 = o.@ConditionGroups;
bool[] paramsRead = new bool[4];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read12_ConditionGroupKind(Reader.Value);
paramsRead[1] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":type");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations37 = 0;
int readerCount37 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id59_conditions && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConditionCore> a_2_0 = o.@Conditions;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations38 = 0;
int readerCount38 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id60_condition && Reader.NamespaceURI == (object)id2_Item)
{
a_2_0.Add(Read11_ConditionCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:condition");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:condition");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations38, ref readerCount38);
}
ReadEndElement();
}
o.@Conditions = a_2_0;
}
break;
}
if (Reader.LocalName == (object)id61_conditionGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConditionGroupCore> a_3_0 = o.@ConditionGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations39 = 0;
int readerCount39 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id62_conditionGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_3_0.Add(Read13_ConditionGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:conditionGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:conditionGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations39, ref readerCount39);
}
ReadEndElement();
}
o.@ConditionGroups = a_3_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:conditions, http://www.battlescribe.net/schema/catalogueSchema:conditionGroups");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:conditions, http://www.battlescribe.net/schema/catalogueSchema:conditionGroups");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations37, ref readerCount37);
}
ReadEndElement();
return o;
}
ConditionCore Read11_ConditionCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id60_condition && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ConditionCore o;
o = new ConditionCore();
bool[] paramsRead = new bool[10];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id63_field && Reader.NamespaceURI == (object)id5_Item)
{
o.@Field = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id65_scope && Reader.NamespaceURI == (object)id5_Item)
{
o.@Scope = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id64_value && Reader.NamespaceURI == (object)id5_Item)
{
o.@Value = System.Xml.XmlConvert.ToDecimal(Reader.Value);
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id66_percentValue && Reader.NamespaceURI == (object)id5_Item)
{
o.@IsValuePercentage = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id67_shared && Reader.NamespaceURI == (object)id5_Item)
{
o.@Shared = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[6] && Reader.LocalName == (object)id68_includeChildSelections && Reader.NamespaceURI == (object)id5_Item)
{
o.@IncludeChildSelections = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[6] = true;
}
else if (!paramsRead[7] && Reader.LocalName == (object)id69_includeChildForces && Reader.NamespaceURI == (object)id5_Item)
{
o.@IncludeChildForces = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[7] = true;
}
else if (!paramsRead[8] && Reader.LocalName == (object)id70_childId && Reader.NamespaceURI == (object)id5_Item)
{
o.@ChildId = Reader.Value;
paramsRead[8] = true;
}
else if (!paramsRead[9] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read10_ConditionKind(Reader.Value);
paramsRead[9] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":field, :scope, :value, :percentValue, :shared, :includeChildSelections, :includeChildForces, :childId, :type");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations40 = 0;
int readerCount40 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations40, ref readerCount40);
}
ReadEndElement();
return o;
}
ConditionKind Read10_ConditionKind(string s)
{
switch (s)
{
case @"lessThan": return ConditionKind.@LessThan;
case @"greaterThan": return ConditionKind.@GreaterThan;
case @"equalTo": return ConditionKind.@EqualTo;
case @"notEqualTo": return ConditionKind.@NotEqualTo;
case @"atLeast": return ConditionKind.@AtLeast;
case @"atMost": return ConditionKind.@AtMost;
case @"instanceOf": return ConditionKind.@InstanceOf;
case @"notInstanceOf": return ConditionKind.@NotInstanceOf;
default: throw CreateUnknownConstantException(s, typeof(ConditionKind));
}
}
ConditionGroupKind Read12_ConditionGroupKind(string s)
{
switch (s)
{
case @"and": return ConditionGroupKind.@And;
case @"or": return ConditionGroupKind.@Or;
default: throw CreateUnknownConstantException(s, typeof(ConditionGroupKind));
}
}
RepeatCore Read9_RepeatCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id58_repeat && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
RepeatCore o;
o = new RepeatCore();
bool[] paramsRead = new bool[11];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id63_field && Reader.NamespaceURI == (object)id5_Item)
{
o.@Field = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id65_scope && Reader.NamespaceURI == (object)id5_Item)
{
o.@Scope = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id64_value && Reader.NamespaceURI == (object)id5_Item)
{
o.@Value = System.Xml.XmlConvert.ToDecimal(Reader.Value);
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id66_percentValue && Reader.NamespaceURI == (object)id5_Item)
{
o.@IsValuePercentage = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id67_shared && Reader.NamespaceURI == (object)id5_Item)
{
o.@Shared = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[6] && Reader.LocalName == (object)id68_includeChildSelections && Reader.NamespaceURI == (object)id5_Item)
{
o.@IncludeChildSelections = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[6] = true;
}
else if (!paramsRead[7] && Reader.LocalName == (object)id69_includeChildForces && Reader.NamespaceURI == (object)id5_Item)
{
o.@IncludeChildForces = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[7] = true;
}
else if (!paramsRead[8] && Reader.LocalName == (object)id70_childId && Reader.NamespaceURI == (object)id5_Item)
{
o.@ChildId = Reader.Value;
paramsRead[8] = true;
}
else if (!paramsRead[9] && Reader.LocalName == (object)id57_repeats && Reader.NamespaceURI == (object)id5_Item)
{
o.@RepeatCount = System.Xml.XmlConvert.ToInt32(Reader.Value);
paramsRead[9] = true;
}
else if (!paramsRead[10] && Reader.LocalName == (object)id71_roundUp && Reader.NamespaceURI == (object)id5_Item)
{
o.@RoundUp = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[10] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":field, :scope, :value, :percentValue, :shared, :includeChildSelections, :includeChildForces, :childId, :repeats, :roundUp");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations41 = 0;
int readerCount41 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations41, ref readerCount41);
}
ReadEndElement();
return o;
}
ModifierKind Read15_ModifierKind(string s)
{
switch (s)
{
case @"set": return ModifierKind.@Set;
case @"increment": return ModifierKind.@Increment;
case @"decrement": return ModifierKind.@Decrement;
case @"append": return ModifierKind.@Append;
case @"add": return ModifierKind.@Add;
case @"remove": return ModifierKind.@Remove;
case @"set-primary": return ModifierKind.@SetPrimary;
case @"unset-primary": return ModifierKind.@UnsetPrimary;
default: throw CreateUnknownConstantException(s, typeof(ModifierKind));
}
}
InfoLinkKind Read24_InfoLinkKind(string s)
{
switch (s)
{
case @"infoGroup": return InfoLinkKind.@InfoGroup;
case @"profile": return InfoLinkKind.@Profile;
case @"rule": return InfoLinkKind.@Rule;
default: throw CreateUnknownConstantException(s, typeof(InfoLinkKind));
}
}
RuleCore Read23_RuleCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id32_rule && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
RuleCore o;
o = new RuleCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
bool[] paramsRead = new bool[9];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations42 = 0;
int readerCount42 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations43 = 0;
int readerCount43 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations43, ref readerCount43);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations44 = 0;
int readerCount44 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations44, ref readerCount44);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (!paramsRead[8] && Reader.LocalName == (object)id72_description && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Description = Reader.ReadElementString();
}
paramsRead[8] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:description");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:description");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations42, ref readerCount42);
}
ReadEndElement();
return o;
}
ProfileCore Read22_ProfileCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id40_profile && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ProfileCore o;
o = new ProfileCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<CharacteristicCore> a_10 = o.@Characteristics;
bool[] paramsRead = new bool[11];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[8] && Reader.LocalName == (object)id73_typeId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TypeId = Reader.Value;
paramsRead[8] = true;
}
else if (!paramsRead[9] && Reader.LocalName == (object)id74_typeName && Reader.NamespaceURI == (object)id5_Item)
{
o.@TypeName = Reader.Value;
paramsRead[9] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden, :typeId, :typeName");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations45 = 0;
int readerCount45 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations46 = 0;
int readerCount46 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations46, ref readerCount46);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations47 = 0;
int readerCount47 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations47, ref readerCount47);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id75_characteristics && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CharacteristicCore> a_10_0 = o.@Characteristics;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations48 = 0;
int readerCount48 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id76_characteristic && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read21_CharacteristicCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:characteristic");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:characteristic");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations48, ref readerCount48);
}
ReadEndElement();
}
o.@Characteristics = a_10_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:characteristics");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:characteristics");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations45, ref readerCount45);
}
ReadEndElement();
return o;
}
CharacteristicCore Read21_CharacteristicCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id76_characteristic && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CharacteristicCore o;
o = new CharacteristicCore();
bool[] paramsRead = new bool[3];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[0] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[0] = true;
}
else if (!paramsRead[1] && Reader.LocalName == (object)id73_typeId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TypeId = Reader.Value;
paramsRead[1] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":name, :typeId");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations49 = 0;
int readerCount49 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
string tmp = null;
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
UnknownNode(o, @"");
}
else if (Reader.NodeType == System.Xml.XmlNodeType.Text ||
Reader.NodeType == System.Xml.XmlNodeType.CDATA ||
Reader.NodeType == System.Xml.XmlNodeType.Whitespace ||
Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace)
{
tmp = ReadString(tmp, false);
o.@Value = tmp;
}
else
{
UnknownNode(o, @"");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations49, ref readerCount49);
}
ReadEndElement();
return o;
}
SelectionEntryGroupCore Read31_SelectionEntryGroupCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id37_selectionEntryGroup && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
SelectionEntryGroupCore o;
o = new SelectionEntryGroupCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ConstraintCore> a_8 = o.@Constraints;
ImmutableArray<ProfileCore> a_9 = o.@Profiles;
ImmutableArray<RuleCore> a_10 = o.@Rules;
ImmutableArray<InfoGroupCore> a_11 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_12 = o.@InfoLinks;
ImmutableArray<CategoryLinkCore> a_15 = o.@CategoryLinks;
ImmutableArray<SelectionEntryCore> a_16 = o.@SelectionEntries;
ImmutableArray<SelectionEntryGroupCore> a_17 = o.@SelectionEntryGroups;
ImmutableArray<EntryLinkCore> a_18 = o.@EntryLinks;
bool[] paramsRead = new bool[20];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[13] && Reader.LocalName == (object)id77_collective && Reader.NamespaceURI == (object)id5_Item)
{
o.@Collective = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[13] = true;
}
else if (!paramsRead[14] && Reader.LocalName == (object)id78_import && Reader.NamespaceURI == (object)id5_Item)
{
o.@Exported = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[14] = true;
}
else if (!paramsRead[19] && Reader.LocalName == (object)id79_defaultSelectionEntryId && Reader.NamespaceURI == (object)id5_Item)
{
o.@DefaultSelectionEntryId = Reader.Value;
paramsRead[19] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden, :collective, :import, :defaultSelectionEntryId");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations50 = 0;
int readerCount50 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations51 = 0;
int readerCount51 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations51, ref readerCount51);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations52 = 0;
int readerCount52 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations52, ref readerCount52);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id80_constraints && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConstraintCore> a_8_0 = o.@Constraints;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations53 = 0;
int readerCount53 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id81_constraint && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read20_ConstraintCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations53, ref readerCount53);
}
ReadEndElement();
}
o.@Constraints = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_9_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations54 = 0;
int readerCount54 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations54, ref readerCount54);
}
ReadEndElement();
}
o.@Profiles = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_10_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations55 = 0;
int readerCount55 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations55, ref readerCount55);
}
ReadEndElement();
}
o.@Rules = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_11_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations56 = 0;
int readerCount56 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations56, ref readerCount56);
}
ReadEndElement();
}
o.@InfoGroups = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_12_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations57 = 0;
int readerCount57 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations57, ref readerCount57);
}
ReadEndElement();
}
o.@InfoLinks = a_12_0;
}
break;
}
if (Reader.LocalName == (object)id82_categoryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CategoryLinkCore> a_15_0 = o.@CategoryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations58 = 0;
int readerCount58 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id83_categoryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_15_0.Add(Read29_CategoryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations58, ref readerCount58);
}
ReadEndElement();
}
o.@CategoryLinks = a_15_0;
}
break;
}
if (Reader.LocalName == (object)id27_selectionEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryCore> a_16_0 = o.@SelectionEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations59 = 0;
int readerCount59 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id28_selectionEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_16_0.Add(Read38_SelectionEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations59, ref readerCount59);
}
ReadEndElement();
}
o.@SelectionEntries = a_16_0;
}
break;
}
if (Reader.LocalName == (object)id84_selectionEntryGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryGroupCore> a_17_0 = o.@SelectionEntryGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations60 = 0;
int readerCount60 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id37_selectionEntryGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_17_0.Add(Read31_SelectionEntryGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations60, ref readerCount60);
}
ReadEndElement();
}
o.@SelectionEntryGroups = a_17_0;
}
break;
}
if (Reader.LocalName == (object)id29_entryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<EntryLinkCore> a_18_0 = o.@EntryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations61 = 0;
int readerCount61 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id30_entryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_18_0.Add(Read35_EntryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations61, ref readerCount61);
}
ReadEndElement();
}
o.@EntryLinks = a_18_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:entryLinks");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:entryLinks");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations50, ref readerCount50);
}
ReadEndElement();
return o;
}
EntryLinkCore Read35_EntryLinkCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id30_entryLink && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
EntryLinkCore o;
o = new EntryLinkCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ConstraintCore> a_8 = o.@Constraints;
ImmutableArray<ProfileCore> a_9 = o.@Profiles;
ImmutableArray<RuleCore> a_10 = o.@Rules;
ImmutableArray<InfoGroupCore> a_11 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_12 = o.@InfoLinks;
ImmutableArray<CategoryLinkCore> a_15 = o.@CategoryLinks;
ImmutableArray<SelectionEntryCore> a_16 = o.@SelectionEntries;
ImmutableArray<SelectionEntryGroupCore> a_17 = o.@SelectionEntryGroups;
ImmutableArray<EntryLinkCore> a_18 = o.@EntryLinks;
ImmutableArray<CostCore> a_21 = o.@Costs;
bool[] paramsRead = new bool[22];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[13] && Reader.LocalName == (object)id77_collective && Reader.NamespaceURI == (object)id5_Item)
{
o.@Collective = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[13] = true;
}
else if (!paramsRead[14] && Reader.LocalName == (object)id78_import && Reader.NamespaceURI == (object)id5_Item)
{
o.@Exported = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[14] = true;
}
else if (!paramsRead[19] && Reader.LocalName == (object)id45_targetId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TargetId = Reader.Value;
paramsRead[19] = true;
}
else if (!paramsRead[20] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read32_EntryLinkKind(Reader.Value);
paramsRead[20] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden, :collective, :import, :targetId, :type");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations62 = 0;
int readerCount62 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations63 = 0;
int readerCount63 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations63, ref readerCount63);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations64 = 0;
int readerCount64 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations64, ref readerCount64);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id80_constraints && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConstraintCore> a_8_0 = o.@Constraints;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations65 = 0;
int readerCount65 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id81_constraint && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read20_ConstraintCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations65, ref readerCount65);
}
ReadEndElement();
}
o.@Constraints = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_9_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations66 = 0;
int readerCount66 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations66, ref readerCount66);
}
ReadEndElement();
}
o.@Profiles = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_10_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations67 = 0;
int readerCount67 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations67, ref readerCount67);
}
ReadEndElement();
}
o.@Rules = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_11_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations68 = 0;
int readerCount68 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations68, ref readerCount68);
}
ReadEndElement();
}
o.@InfoGroups = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_12_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations69 = 0;
int readerCount69 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations69, ref readerCount69);
}
ReadEndElement();
}
o.@InfoLinks = a_12_0;
}
break;
}
if (Reader.LocalName == (object)id82_categoryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CategoryLinkCore> a_15_0 = o.@CategoryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations70 = 0;
int readerCount70 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id83_categoryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_15_0.Add(Read29_CategoryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations70, ref readerCount70);
}
ReadEndElement();
}
o.@CategoryLinks = a_15_0;
}
break;
}
if (Reader.LocalName == (object)id27_selectionEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryCore> a_16_0 = o.@SelectionEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations71 = 0;
int readerCount71 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id28_selectionEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_16_0.Add(Read38_SelectionEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations71, ref readerCount71);
}
ReadEndElement();
}
o.@SelectionEntries = a_16_0;
}
break;
}
if (Reader.LocalName == (object)id84_selectionEntryGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryGroupCore> a_17_0 = o.@SelectionEntryGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations72 = 0;
int readerCount72 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id37_selectionEntryGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_17_0.Add(Read31_SelectionEntryGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations72, ref readerCount72);
}
ReadEndElement();
}
o.@SelectionEntryGroups = a_17_0;
}
break;
}
if (Reader.LocalName == (object)id29_entryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<EntryLinkCore> a_18_0 = o.@EntryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations73 = 0;
int readerCount73 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id30_entryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_18_0.Add(Read35_EntryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations73, ref readerCount73);
}
ReadEndElement();
}
o.@EntryLinks = a_18_0;
}
break;
}
if (Reader.LocalName == (object)id85_costs && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CostCore> a_21_0 = o.@Costs;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations74 = 0;
int readerCount74 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id86_cost && Reader.NamespaceURI == (object)id2_Item)
{
a_21_0.Add(Read34_CostCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:cost");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:cost");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations74, ref readerCount74);
}
ReadEndElement();
}
o.@Costs = a_21_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:entryLinks, http://www.battlescribe.net/schema/catalogueSchema:costs");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:entryLinks, http://www.battlescribe.net/schema/catalogueSchema:costs");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations62, ref readerCount62);
}
ReadEndElement();
return o;
}
CostCore Read34_CostCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id86_cost && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CostCore o;
o = new CostCore();
bool[] paramsRead = new bool[3];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[0] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[0] = true;
}
else if (!paramsRead[1] && Reader.LocalName == (object)id73_typeId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TypeId = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id64_value && Reader.NamespaceURI == (object)id5_Item)
{
o.@Value = System.Xml.XmlConvert.ToDecimal(Reader.Value);
paramsRead[2] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":name, :typeId, :value");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations75 = 0;
int readerCount75 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
UnknownNode(o, @"");
}
else
{
UnknownNode(o, @"");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations75, ref readerCount75);
}
ReadEndElement();
return o;
}
SelectionEntryCore Read38_SelectionEntryCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id28_selectionEntry && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
SelectionEntryCore o;
o = new SelectionEntryCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ConstraintCore> a_8 = o.@Constraints;
ImmutableArray<ProfileCore> a_9 = o.@Profiles;
ImmutableArray<RuleCore> a_10 = o.@Rules;
ImmutableArray<InfoGroupCore> a_11 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_12 = o.@InfoLinks;
ImmutableArray<CategoryLinkCore> a_15 = o.@CategoryLinks;
ImmutableArray<SelectionEntryCore> a_16 = o.@SelectionEntries;
ImmutableArray<SelectionEntryGroupCore> a_17 = o.@SelectionEntryGroups;
ImmutableArray<EntryLinkCore> a_18 = o.@EntryLinks;
ImmutableArray<CostCore> a_20 = o.@Costs;
bool[] paramsRead = new bool[21];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[13] && Reader.LocalName == (object)id77_collective && Reader.NamespaceURI == (object)id5_Item)
{
o.@Collective = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[13] = true;
}
else if (!paramsRead[14] && Reader.LocalName == (object)id78_import && Reader.NamespaceURI == (object)id5_Item)
{
o.@Exported = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[14] = true;
}
else if (!paramsRead[19] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read37_SelectionEntryKind(Reader.Value);
paramsRead[19] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden, :collective, :import, :type");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations76 = 0;
int readerCount76 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations77 = 0;
int readerCount77 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations77, ref readerCount77);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations78 = 0;
int readerCount78 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations78, ref readerCount78);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id80_constraints && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConstraintCore> a_8_0 = o.@Constraints;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations79 = 0;
int readerCount79 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id81_constraint && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read20_ConstraintCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations79, ref readerCount79);
}
ReadEndElement();
}
o.@Constraints = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_9_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations80 = 0;
int readerCount80 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations80, ref readerCount80);
}
ReadEndElement();
}
o.@Profiles = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_10_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations81 = 0;
int readerCount81 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations81, ref readerCount81);
}
ReadEndElement();
}
o.@Rules = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_11_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations82 = 0;
int readerCount82 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations82, ref readerCount82);
}
ReadEndElement();
}
o.@InfoGroups = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_12_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations83 = 0;
int readerCount83 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations83, ref readerCount83);
}
ReadEndElement();
}
o.@InfoLinks = a_12_0;
}
break;
}
if (Reader.LocalName == (object)id82_categoryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CategoryLinkCore> a_15_0 = o.@CategoryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations84 = 0;
int readerCount84 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id83_categoryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_15_0.Add(Read29_CategoryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations84, ref readerCount84);
}
ReadEndElement();
}
o.@CategoryLinks = a_15_0;
}
break;
}
if (Reader.LocalName == (object)id27_selectionEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryCore> a_16_0 = o.@SelectionEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations85 = 0;
int readerCount85 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id28_selectionEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_16_0.Add(Read38_SelectionEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations85, ref readerCount85);
}
ReadEndElement();
}
o.@SelectionEntries = a_16_0;
}
break;
}
if (Reader.LocalName == (object)id84_selectionEntryGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<SelectionEntryGroupCore> a_17_0 = o.@SelectionEntryGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations86 = 0;
int readerCount86 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id37_selectionEntryGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_17_0.Add(Read31_SelectionEntryGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations86, ref readerCount86);
}
ReadEndElement();
}
o.@SelectionEntryGroups = a_17_0;
}
break;
}
if (Reader.LocalName == (object)id29_entryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<EntryLinkCore> a_18_0 = o.@EntryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations87 = 0;
int readerCount87 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id30_entryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_18_0.Add(Read35_EntryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:entryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations87, ref readerCount87);
}
ReadEndElement();
}
o.@EntryLinks = a_18_0;
}
break;
}
if (Reader.LocalName == (object)id85_costs && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CostCore> a_20_0 = o.@Costs;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations88 = 0;
int readerCount88 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id86_cost && Reader.NamespaceURI == (object)id2_Item)
{
a_20_0.Add(Read34_CostCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:cost");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:cost");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations88, ref readerCount88);
}
ReadEndElement();
}
o.@Costs = a_20_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:entryLinks, http://www.battlescribe.net/schema/catalogueSchema:costs");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks, http://www.battlescribe.net/schema/catalogueSchema:selectionEntries, http://www.battlescribe.net/schema/catalogueSchema:selectionEntryGroups, http://www.battlescribe.net/schema/catalogueSchema:entryLinks, http://www.battlescribe.net/schema/catalogueSchema:costs");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations76, ref readerCount76);
}
ReadEndElement();
return o;
}
CategoryLinkCore Read29_CategoryLinkCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id83_categoryLink && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CategoryLinkCore o;
o = new CategoryLinkCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ConstraintCore> a_8 = o.@Constraints;
ImmutableArray<ProfileCore> a_9 = o.@Profiles;
ImmutableArray<RuleCore> a_10 = o.@Rules;
ImmutableArray<InfoGroupCore> a_11 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_12 = o.@InfoLinks;
bool[] paramsRead = new bool[15];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[13] && Reader.LocalName == (object)id45_targetId && Reader.NamespaceURI == (object)id5_Item)
{
o.@TargetId = Reader.Value;
paramsRead[13] = true;
}
else if (!paramsRead[14] && Reader.LocalName == (object)id87_primary && Reader.NamespaceURI == (object)id5_Item)
{
o.@Primary = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[14] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden, :targetId, :primary");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations89 = 0;
int readerCount89 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations90 = 0;
int readerCount90 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations90, ref readerCount90);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations91 = 0;
int readerCount91 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations91, ref readerCount91);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id80_constraints && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConstraintCore> a_8_0 = o.@Constraints;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations92 = 0;
int readerCount92 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id81_constraint && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read20_ConstraintCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations92, ref readerCount92);
}
ReadEndElement();
}
o.@Constraints = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_9_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations93 = 0;
int readerCount93 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations93, ref readerCount93);
}
ReadEndElement();
}
o.@Profiles = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_10_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations94 = 0;
int readerCount94 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations94, ref readerCount94);
}
ReadEndElement();
}
o.@Rules = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_11_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations95 = 0;
int readerCount95 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations95, ref readerCount95);
}
ReadEndElement();
}
o.@InfoGroups = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_12_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations96 = 0;
int readerCount96 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations96, ref readerCount96);
}
ReadEndElement();
}
o.@InfoLinks = a_12_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations89, ref readerCount89);
}
ReadEndElement();
return o;
}
ConstraintCore Read20_ConstraintCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id81_constraint && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ConstraintCore o;
o = new ConstraintCore();
bool[] paramsRead = new bool[10];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id63_field && Reader.NamespaceURI == (object)id5_Item)
{
o.@Field = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id65_scope && Reader.NamespaceURI == (object)id5_Item)
{
o.@Scope = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id64_value && Reader.NamespaceURI == (object)id5_Item)
{
o.@Value = System.Xml.XmlConvert.ToDecimal(Reader.Value);
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id66_percentValue && Reader.NamespaceURI == (object)id5_Item)
{
o.@IsValuePercentage = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id67_shared && Reader.NamespaceURI == (object)id5_Item)
{
o.@Shared = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!paramsRead[6] && Reader.LocalName == (object)id68_includeChildSelections && Reader.NamespaceURI == (object)id5_Item)
{
o.@IncludeChildSelections = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[6] = true;
}
else if (!paramsRead[7] && Reader.LocalName == (object)id69_includeChildForces && Reader.NamespaceURI == (object)id5_Item)
{
o.@IncludeChildForces = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[7] = true;
}
else if (!paramsRead[8] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[8] = true;
}
else if (!paramsRead[9] && Reader.LocalName == (object)id46_type && Reader.NamespaceURI == (object)id5_Item)
{
o.@Type = Read19_ConstraintKind(Reader.Value);
paramsRead[9] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":field, :scope, :value, :percentValue, :shared, :includeChildSelections, :includeChildForces, :id, :type");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations97 = 0;
int readerCount97 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations97, ref readerCount97);
}
ReadEndElement();
return o;
}
ConstraintKind Read19_ConstraintKind(string s)
{
switch (s)
{
case @"min": return ConstraintKind.@Minimum;
case @"max": return ConstraintKind.@Maximum;
default: throw CreateUnknownConstantException(s, typeof(ConstraintKind));
}
}
SelectionEntryKind Read37_SelectionEntryKind(string s)
{
switch (s)
{
case @"upgrade": return SelectionEntryKind.@Upgrade;
case @"model": return SelectionEntryKind.@Model;
case @"unit": return SelectionEntryKind.@Unit;
default: throw CreateUnknownConstantException(s, typeof(SelectionEntryKind));
}
}
EntryLinkKind Read32_EntryLinkKind(string s)
{
switch (s)
{
case @"selectionEntry": return EntryLinkKind.@SelectionEntry;
case @"selectionEntryGroup": return EntryLinkKind.@SelectionEntryGroup;
default: throw CreateUnknownConstantException(s, typeof(EntryLinkKind));
}
}
ForceEntryCore Read30_ForceEntryCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id26_forceEntry && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ForceEntryCore o;
o = new ForceEntryCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ConstraintCore> a_8 = o.@Constraints;
ImmutableArray<ProfileCore> a_9 = o.@Profiles;
ImmutableArray<RuleCore> a_10 = o.@Rules;
ImmutableArray<InfoGroupCore> a_11 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_12 = o.@InfoLinks;
ImmutableArray<ForceEntryCore> a_13 = o.@ForceEntries;
ImmutableArray<CategoryLinkCore> a_14 = o.@CategoryLinks;
bool[] paramsRead = new bool[15];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations98 = 0;
int readerCount98 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations99 = 0;
int readerCount99 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations99, ref readerCount99);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations100 = 0;
int readerCount100 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations100, ref readerCount100);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id80_constraints && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConstraintCore> a_8_0 = o.@Constraints;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations101 = 0;
int readerCount101 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id81_constraint && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read20_ConstraintCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations101, ref readerCount101);
}
ReadEndElement();
}
o.@Constraints = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_9_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations102 = 0;
int readerCount102 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations102, ref readerCount102);
}
ReadEndElement();
}
o.@Profiles = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_10_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations103 = 0;
int readerCount103 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations103, ref readerCount103);
}
ReadEndElement();
}
o.@Rules = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_11_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations104 = 0;
int readerCount104 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations104, ref readerCount104);
}
ReadEndElement();
}
o.@InfoGroups = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_12_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations105 = 0;
int readerCount105 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations105, ref readerCount105);
}
ReadEndElement();
}
o.@InfoLinks = a_12_0;
}
break;
}
if (Reader.LocalName == (object)id25_forceEntries && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ForceEntryCore> a_13_0 = o.@ForceEntries;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations106 = 0;
int readerCount106 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id26_forceEntry && Reader.NamespaceURI == (object)id2_Item)
{
a_13_0.Add(Read30_ForceEntryCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:forceEntry");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:forceEntry");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations106, ref readerCount106);
}
ReadEndElement();
}
o.@ForceEntries = a_13_0;
}
break;
}
if (Reader.LocalName == (object)id82_categoryLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CategoryLinkCore> a_14_0 = o.@CategoryLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations107 = 0;
int readerCount107 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id83_categoryLink && Reader.NamespaceURI == (object)id2_Item)
{
a_14_0.Add(Read29_CategoryLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:categoryLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations107, ref readerCount107);
}
ReadEndElement();
}
o.@CategoryLinks = a_14_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:forceEntries, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks, http://www.battlescribe.net/schema/catalogueSchema:forceEntries, http://www.battlescribe.net/schema/catalogueSchema:categoryLinks");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations98, ref readerCount98);
}
ReadEndElement();
return o;
}
CategoryEntryCore Read28_CategoryEntryCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id24_categoryEntry && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CategoryEntryCore o;
o = new CategoryEntryCore();
ImmutableArray<ModifierCore> a_6 = o.@Modifiers;
ImmutableArray<ModifierGroupCore> a_7 = o.@ModifierGroups;
ImmutableArray<ConstraintCore> a_8 = o.@Constraints;
ImmutableArray<ProfileCore> a_9 = o.@Profiles;
ImmutableArray<RuleCore> a_10 = o.@Rules;
ImmutableArray<InfoGroupCore> a_11 = o.@InfoGroups;
ImmutableArray<InfoLinkCore> a_12 = o.@InfoLinks;
bool[] paramsRead = new bool[13];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id48_publicationId && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationId = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id49_page && Reader.NamespaceURI == (object)id5_Item)
{
o.@Page = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[5] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :publicationId, :page, :hidden");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations108 = 0;
int readerCount108 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id51_modifiers && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierCore> a_6_0 = o.@Modifiers;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations109 = 0;
int readerCount109 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id52_modifier && Reader.NamespaceURI == (object)id2_Item)
{
a_6_0.Add(Read16_ModifierCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifier");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations109, ref readerCount109);
}
ReadEndElement();
}
o.@Modifiers = a_6_0;
}
break;
}
if (Reader.LocalName == (object)id53_modifierGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ModifierGroupCore> a_7_0 = o.@ModifierGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations110 = 0;
int readerCount110 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id54_modifierGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_7_0.Add(Read17_ModifierGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:modifierGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations110, ref readerCount110);
}
ReadEndElement();
}
o.@ModifierGroups = a_7_0;
}
break;
}
if (Reader.LocalName == (object)id80_constraints && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ConstraintCore> a_8_0 = o.@Constraints;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations111 = 0;
int readerCount111 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id81_constraint && Reader.NamespaceURI == (object)id2_Item)
{
a_8_0.Add(Read20_ConstraintCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:constraint");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations111, ref readerCount111);
}
ReadEndElement();
}
o.@Constraints = a_8_0;
}
break;
}
if (Reader.LocalName == (object)id55_profiles && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<ProfileCore> a_9_0 = o.@Profiles;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations112 = 0;
int readerCount112 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id40_profile && Reader.NamespaceURI == (object)id2_Item)
{
a_9_0.Add(Read22_ProfileCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:profile");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations112, ref readerCount112);
}
ReadEndElement();
}
o.@Profiles = a_9_0;
}
break;
}
if (Reader.LocalName == (object)id31_rules && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<RuleCore> a_10_0 = o.@Rules;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations113 = 0;
int readerCount113 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id32_rule && Reader.NamespaceURI == (object)id2_Item)
{
a_10_0.Add(Read23_RuleCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:rule");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations113, ref readerCount113);
}
ReadEndElement();
}
o.@Rules = a_10_0;
}
break;
}
if (Reader.LocalName == (object)id56_infoGroups && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoGroupCore> a_11_0 = o.@InfoGroups;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations114 = 0;
int readerCount114 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id42_infoGroup && Reader.NamespaceURI == (object)id2_Item)
{
a_11_0.Add(Read26_InfoGroupCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoGroup");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations114, ref readerCount114);
}
ReadEndElement();
}
o.@InfoGroups = a_11_0;
}
break;
}
if (Reader.LocalName == (object)id33_infoLinks && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<InfoLinkCore> a_12_0 = o.@InfoLinks;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations115 = 0;
int readerCount115 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id34_infoLink && Reader.NamespaceURI == (object)id2_Item)
{
a_12_0.Add(Read25_InfoLinkCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:infoLink");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations115, ref readerCount115);
}
ReadEndElement();
}
o.@InfoLinks = a_12_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:modifiers, http://www.battlescribe.net/schema/catalogueSchema:modifierGroups, http://www.battlescribe.net/schema/catalogueSchema:constraints, http://www.battlescribe.net/schema/catalogueSchema:profiles, http://www.battlescribe.net/schema/catalogueSchema:rules, http://www.battlescribe.net/schema/catalogueSchema:infoGroups, http://www.battlescribe.net/schema/catalogueSchema:infoLinks");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations108, ref readerCount108);
}
ReadEndElement();
return o;
}
ProfileTypeCore Read6_ProfileTypeCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id22_profileType && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
ProfileTypeCore o;
o = new ProfileTypeCore();
ImmutableArray<CharacteristicTypeCore> a_3 = o.@CharacteristicTypes;
bool[] paramsRead = new bool[4];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations116 = 0;
int readerCount116 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
if (Reader.LocalName == (object)id88_characteristicTypes && Reader.NamespaceURI == (object)id2_Item)
{
if (!ReadNull())
{
ImmutableArray<CharacteristicTypeCore> a_3_0 = o.@CharacteristicTypes;
if (Reader.IsEmptyElement)
{
Reader.Skip();
}
else
{
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations117 = 0;
int readerCount117 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (Reader.LocalName == (object)id89_characteristicType && Reader.NamespaceURI == (object)id2_Item)
{
a_3_0.Add(Read5_CharacteristicTypeCore(true, true));
break;
}
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:characteristicType");
} while (false);
}
else
{
UnknownNode(null, @"http://www.battlescribe.net/schema/catalogueSchema:characteristicType");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations117, ref readerCount117);
}
ReadEndElement();
}
o.@CharacteristicTypes = a_3_0;
}
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:characteristicTypes");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment, http://www.battlescribe.net/schema/catalogueSchema:characteristicTypes");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations116, ref readerCount116);
}
ReadEndElement();
return o;
}
CharacteristicTypeCore Read5_CharacteristicTypeCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id89_characteristicType && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CharacteristicTypeCore o;
o = new CharacteristicTypeCore();
bool[] paramsRead = new bool[3];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations118 = 0;
int readerCount118 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations118, ref readerCount118);
}
ReadEndElement();
return o;
}
CostTypeCore Read4_CostTypeCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id20_costType && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
CostTypeCore o;
o = new CostTypeCore();
bool[] paramsRead = new bool[5];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id90_defaultCostLimit && Reader.NamespaceURI == (object)id5_Item)
{
o.@DefaultCostLimit = System.Xml.XmlConvert.ToDecimal(Reader.Value);
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id50_hidden && Reader.NamespaceURI == (object)id5_Item)
{
o.@Hidden = System.Xml.XmlConvert.ToBoolean(Reader.Value);
paramsRead[4] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :defaultCostLimit, :hidden");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations119 = 0;
int readerCount119 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations119, ref readerCount119);
}
ReadEndElement();
return o;
}
PublicationCore Read3_PublicationCore(bool isNullable, bool checkType)
{
System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
bool isNull = false;
if (isNullable) isNull = ReadNull();
if (checkType)
{
if (xsiType == null || (xsiType.Name == (object)id18_publication && xsiType.Namespace == (object)id2_Item))
{
}
else
{
throw CreateUnknownTypeException(xsiType);
}
}
if (isNull) return null;
PublicationCore o;
o = new PublicationCore();
bool[] paramsRead = new bool[7];
while (Reader.MoveToNextAttribute())
{
if (!paramsRead[1] && Reader.LocalName == (object)id4_id && Reader.NamespaceURI == (object)id5_Item)
{
o.@Id = Reader.Value;
paramsRead[1] = true;
}
else if (!paramsRead[2] && Reader.LocalName == (object)id6_name && Reader.NamespaceURI == (object)id5_Item)
{
o.@Name = Reader.Value;
paramsRead[2] = true;
}
else if (!paramsRead[3] && Reader.LocalName == (object)id91_shortName && Reader.NamespaceURI == (object)id5_Item)
{
o.@ShortName = Reader.Value;
paramsRead[3] = true;
}
else if (!paramsRead[4] && Reader.LocalName == (object)id92_publisher && Reader.NamespaceURI == (object)id5_Item)
{
o.@Publisher = Reader.Value;
paramsRead[4] = true;
}
else if (!paramsRead[5] && Reader.LocalName == (object)id93_publicationDate && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublicationDate = Reader.Value;
paramsRead[5] = true;
}
else if (!paramsRead[6] && Reader.LocalName == (object)id94_publisherUrl && Reader.NamespaceURI == (object)id5_Item)
{
o.@PublisherUrl = Reader.Value;
paramsRead[6] = true;
}
else if (!IsXmlnsAttribute(Reader.Name))
{
UnknownNode(o, @":id, :name, :shortName, :publisher, :publicationDate, :publisherUrl");
}
}
Reader.MoveToElement();
if (Reader.IsEmptyElement)
{
Reader.Skip();
return o;
}
Reader.ReadStartElement();
Reader.MoveToContent();
int whileIterations120 = 0;
int readerCount120 = ReaderCount;
while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
{
if (Reader.NodeType == System.Xml.XmlNodeType.Element)
{
do
{
if (!paramsRead[0] && Reader.LocalName == (object)id15_comment && Reader.NamespaceURI == (object)id2_Item)
{
{
o.@Comment = Reader.ReadElementString();
}
paramsRead[0] = true;
break;
}
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
} while (false);
}
else
{
UnknownNode(o, @"http://www.battlescribe.net/schema/catalogueSchema:comment");
}
Reader.MoveToContent();
CheckReaderCount(ref whileIterations120, ref readerCount120);
}
ReadEndElement();
return o;
}
protected override void InitCallbacks()
{
}
string id58_repeat;
string id59_conditions;
string id73_typeId;
string id31_rules;
string id93_publicationDate;
string id91_shortName;
string id57_repeats;
string id9_authorName;
string id7_revision;
string id27_selectionEntries;
string id63_field;
string id76_characteristic;
string id30_entryLink;
string id74_typeName;
string id21_profileTypes;
string id33_infoLinks;
string id51_modifiers;
string id49_page;
string id8_battleScribeVersion;
string id71_roundUp;
string id22_profileType;
string id47_importRootEntries;
string id66_percentValue;
string id3_CatalogueCore;
string id40_profile;
string id29_entryLinks;
string id11_authorUrl;
string id83_categoryLink;
string id88_characteristicTypes;
string id60_condition;
string id13_gameSystemId;
string id79_defaultSelectionEntryId;
string id87_primary;
string id53_modifierGroups;
string id26_forceEntry;
string id65_scope;
string id14_gameSystemRevision;
string id67_shared;
string id32_rule;
string id35_sharedSelectionEntries;
string id36_sharedSelectionEntryGroups;
string id54_modifierGroup;
string id41_sharedInfoGroups;
string id64_value;
string id46_type;
string id82_categoryLinks;
string id43_catalogueLinks;
string id56_infoGroups;
string id80_constraints;
string id10_authorContact;
string id90_defaultCostLimit;
string id16_readme;
string id86_cost;
string id17_publications;
string id45_targetId;
string id4_id;
string id34_infoLink;
string id25_forceEntries;
string id12_library;
string id52_modifier;
string id81_constraint;
string id89_characteristicType;
string id28_selectionEntry;
string id68_includeChildSelections;
string id20_costType;
string id18_publication;
string id84_selectionEntryGroups;
string id55_profiles;
string id42_infoGroup;
string id78_import;
string id50_hidden;
string id15_comment;
string id6_name;
string id48_publicationId;
string id92_publisher;
string id85_costs;
string id94_publisherUrl;
string id1_catalogue;
string id72_description;
string id70_childId;
string id39_sharedProfiles;
string id2_Item;
string id69_includeChildForces;
string id61_conditionGroups;
string id37_selectionEntryGroup;
string id38_sharedRules;
string id19_costTypes;
string id75_characteristics;
string id77_collective;
string id24_categoryEntry;
string id62_conditionGroup;
string id23_categoryEntries;
string id5_Item;
string id44_catalogueLink;
protected override void InitIDs()
{
id58_repeat = Reader.NameTable.Add(@"repeat");
id59_conditions = Reader.NameTable.Add(@"conditions");
id73_typeId = Reader.NameTable.Add(@"typeId");
id31_rules = Reader.NameTable.Add(@"rules");
id93_publicationDate = Reader.NameTable.Add(@"publicationDate");
id91_shortName = Reader.NameTable.Add(@"shortName");
id57_repeats = Reader.NameTable.Add(@"repeats");
id9_authorName = Reader.NameTable.Add(@"authorName");
id7_revision = Reader.NameTable.Add(@"revision");
id27_selectionEntries = Reader.NameTable.Add(@"selectionEntries");
id63_field = Reader.NameTable.Add(@"field");
id76_characteristic = Reader.NameTable.Add(@"characteristic");
id30_entryLink = Reader.NameTable.Add(@"entryLink");
id74_typeName = Reader.NameTable.Add(@"typeName");
id21_profileTypes = Reader.NameTable.Add(@"profileTypes");
id33_infoLinks = Reader.NameTable.Add(@"infoLinks");
id51_modifiers = Reader.NameTable.Add(@"modifiers");
id49_page = Reader.NameTable.Add(@"page");
id8_battleScribeVersion = Reader.NameTable.Add(@"battleScribeVersion");
id71_roundUp = Reader.NameTable.Add(@"roundUp");
id22_profileType = Reader.NameTable.Add(@"profileType");
id47_importRootEntries = Reader.NameTable.Add(@"importRootEntries");
id66_percentValue = Reader.NameTable.Add(@"percentValue");
id3_CatalogueCore = Reader.NameTable.Add(@"CatalogueCore");
id40_profile = Reader.NameTable.Add(@"profile");
id29_entryLinks = Reader.NameTable.Add(@"entryLinks");
id11_authorUrl = Reader.NameTable.Add(@"authorUrl");
id83_categoryLink = Reader.NameTable.Add(@"categoryLink");
id88_characteristicTypes = Reader.NameTable.Add(@"characteristicTypes");
id60_condition = Reader.NameTable.Add(@"condition");
id13_gameSystemId = Reader.NameTable.Add(@"gameSystemId");
id79_defaultSelectionEntryId = Reader.NameTable.Add(@"defaultSelectionEntryId");
id87_primary = Reader.NameTable.Add(@"primary");
id53_modifierGroups = Reader.NameTable.Add(@"modifierGroups");
id26_forceEntry = Reader.NameTable.Add(@"forceEntry");
id65_scope = Reader.NameTable.Add(@"scope");
id14_gameSystemRevision = Reader.NameTable.Add(@"gameSystemRevision");
id67_shared = Reader.NameTable.Add(@"shared");
id32_rule = Reader.NameTable.Add(@"rule");
id35_sharedSelectionEntries = Reader.NameTable.Add(@"sharedSelectionEntries");
id36_sharedSelectionEntryGroups = Reader.NameTable.Add(@"sharedSelectionEntryGroups");
id54_modifierGroup = Reader.NameTable.Add(@"modifierGroup");
id41_sharedInfoGroups = Reader.NameTable.Add(@"sharedInfoGroups");
id64_value = Reader.NameTable.Add(@"value");
id46_type = Reader.NameTable.Add(@"type");
id82_categoryLinks = Reader.NameTable.Add(@"categoryLinks");
id43_catalogueLinks = Reader.NameTable.Add(@"catalogueLinks");
id56_infoGroups = Reader.NameTable.Add(@"infoGroups");
id80_constraints = Reader.NameTable.Add(@"constraints");
id10_authorContact = Reader.NameTable.Add(@"authorContact");
id90_defaultCostLimit = Reader.NameTable.Add(@"defaultCostLimit");
id16_readme = Reader.NameTable.Add(@"readme");
id86_cost = Reader.NameTable.Add(@"cost");
id17_publications = Reader.NameTable.Add(@"publications");
id45_targetId = Reader.NameTable.Add(@"targetId");
id4_id = Reader.NameTable.Add(@"id");
id34_infoLink = Reader.NameTable.Add(@"infoLink");
id25_forceEntries = Reader.NameTable.Add(@"forceEntries");
id12_library = Reader.NameTable.Add(@"library");
id52_modifier = Reader.NameTable.Add(@"modifier");
id81_constraint = Reader.NameTable.Add(@"constraint");
id89_characteristicType = Reader.NameTable.Add(@"characteristicType");
id28_selectionEntry = Reader.NameTable.Add(@"selectionEntry");
id68_includeChildSelections = Reader.NameTable.Add(@"includeChildSelections");
id20_costType = Reader.NameTable.Add(@"costType");
id18_publication = Reader.NameTable.Add(@"publication");
id84_selectionEntryGroups = Reader.NameTable.Add(@"selectionEntryGroups");
id55_profiles = Reader.NameTable.Add(@"profiles");
id42_infoGroup = Reader.NameTable.Add(@"infoGroup");
id78_import = Reader.NameTable.Add(@"import");
id50_hidden = Reader.NameTable.Add(@"hidden");
id15_comment = Reader.NameTable.Add(@"comment");
id6_name = Reader.NameTable.Add(@"name");
id48_publicationId = Reader.NameTable.Add(@"publicationId");
id92_publisher = Reader.NameTable.Add(@"publisher");
id85_costs = Reader.NameTable.Add(@"costs");
id94_publisherUrl = Reader.NameTable.Add(@"publisherUrl");
id1_catalogue = Reader.NameTable.Add(@"catalogue");
id72_description = Reader.NameTable.Add(@"description");
id70_childId = Reader.NameTable.Add(@"childId");
id39_sharedProfiles = Reader.NameTable.Add(@"sharedProfiles");
id2_Item = Reader.NameTable.Add(@"http://www.battlescribe.net/schema/catalogueSchema");
id69_includeChildForces = Reader.NameTable.Add(@"includeChildForces");
id61_conditionGroups = Reader.NameTable.Add(@"conditionGroups");
id37_selectionEntryGroup = Reader.NameTable.Add(@"selectionEntryGroup");
id38_sharedRules = Reader.NameTable.Add(@"sharedRules");
id19_costTypes = Reader.NameTable.Add(@"costTypes");
id75_characteristics = Reader.NameTable.Add(@"characteristics");
id77_collective = Reader.NameTable.Add(@"collective");
id24_categoryEntry = Reader.NameTable.Add(@"categoryEntry");
id62_conditionGroup = Reader.NameTable.Add(@"conditionGroup");
id23_categoryEntries = Reader.NameTable.Add(@"categoryEntries");
id5_Item = Reader.NameTable.Add(@"");
id44_catalogueLink = Reader.NameTable.Add(@"catalogueLink");
}
}
public abstract class XmlSerializer1 : XmlSerializer
{
protected override XmlSerializationReader CreateReader()
{
return new XmlSerializationReaderCatalogueCore();
}
protected override XmlSerializationWriter CreateWriter()
{
return new XmlSerializationWriterCatalogueCore();
}
}
public sealed class CatalogueCoreSerializer : XmlSerializer1
{
public override bool CanDeserialize(System.Xml.XmlReader xmlReader)
{
return xmlReader.IsStartElement(@"catalogue", @"http://www.battlescribe.net/schema/catalogueSchema");
}
protected override void Serialize(object objectToSerialize, XmlSerializationWriter writer)
{
((XmlSerializationWriterCatalogueCore)writer).Write43_catalogue(objectToSerialize);
}
protected override object Deserialize(XmlSerializationReader reader)
{
return ((XmlSerializationReaderCatalogueCore)reader).Read43_catalogue();
}
}
public class XmlSerializerContract : XmlSerializerImplementation
{
public override XmlSerializationReader Reader { get { return new XmlSerializationReaderCatalogueCore(); } }
public override XmlSerializationWriter Writer { get { return new XmlSerializationWriterCatalogueCore(); } }
System.Collections.Hashtable readMethods = null;
public override System.Collections.Hashtable ReadMethods
{
get
{
if (readMethods == null)
{
System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
_tmp[@"WarHub.ArmouryModel.Source.CatalogueCore:http://www.battlescribe.net/schema/catalogueSchema:catalogue:False:"] = @"Read43_catalogue";
if (readMethods == null) readMethods = _tmp;
}
return readMethods;
}
}
System.Collections.Hashtable writeMethods = null;
public override System.Collections.Hashtable WriteMethods
{
get
{
if (writeMethods == null)
{
System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
_tmp[@"WarHub.ArmouryModel.Source.CatalogueCore:http://www.battlescribe.net/schema/catalogueSchema:catalogue:False:"] = @"Write43_catalogue";
if (writeMethods == null) writeMethods = _tmp;
}
return writeMethods;
}
}
System.Collections.Hashtable typedSerializers = null;
public override System.Collections.Hashtable TypedSerializers
{
get
{
if (typedSerializers == null)
{
System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
_tmp.Add(@"WarHub.ArmouryModel.Source.CatalogueCore:http://www.battlescribe.net/schema/catalogueSchema:catalogue:False:", new CatalogueCoreSerializer());
if (typedSerializers == null) typedSerializers = _tmp;
}
return typedSerializers;
}
}
public override bool CanSerialize(System.Type type)
{
if (type == typeof(CatalogueCore)) return true;
return false;
}
public override XmlSerializer GetSerializer(System.Type type)
{
if (type == typeof(CatalogueCore)) return new CatalogueCoreSerializer();
return null;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment