/// <summary> /// Parses the yaml and find prerequisites /// </summary> /// <param name="yaml">Yaml Node to parse </param> private void ParseYaml(YamlNodeWrapper yaml) { foreach (var prereq in yaml.Children()) { Prerequisite newreq = null; // TODO: This seems clunky and weird foreach (var key in this.prerequisiteKeyNames) { var val = prereq.GetStringOptional(key); if (val != null) { switch (key) { case "ability": newreq = new AbilityPrerequisite(val); break; case "baseattackbonus": newreq = new BaseAttackBonusPrerequisite(val); break; case "casterlevel": newreq = new CasterLevelPrerequisite(val); break; case "classfeature": newreq = new ClassFeaturePrerequisite(val); break; case "classlevel": newreq = new ClassLevelPrerequisite(val); break; case "feat": newreq = new FeatPrerequisite(val); break; case "proficiency": newreq = new ProficiencyPrerequisite(val); break; case "race": newreq = new RacePrerequisite(val); break; case "skillranks": newreq = new SkillRankPrerequisite(val); break; } break; } } if (newreq != null) { this.Add(newreq); } } }
public ClassLevelPrerequisiteTests() { prereq = new ClassLevelPrerequisite("Fighter 4"); }