public static IDictionary <string, Skill> BuildDictionary(SkillsConfig config) { IDictionary <string, Skill> skills = new Dictionary <string, Skill>(); foreach (IList <object> row in config.Query.Data) { try { IList <string> skill = row.Select(r => r.ToString()).ToList(); string name = ParseHelper.SafeStringParse(skill, config.Name, "Name", false); if (string.IsNullOrEmpty(name)) { continue; } if (!skills.TryAdd(name, new Skill(config, skill))) { throw new NonUniqueObjectNameException("skill"); } } catch (Exception ex) { throw new SkillProcessingException((row.ElementAtOrDefault(config.Name) ?? string.Empty).ToString(), ex); } } return(skills); }
public static void Copy(this SkillsConfig _cg1, SkillsConfig _cg2) { _cg1.id = _cg2.id; _cg1.name = _cg2.name; _cg1.description = _cg2.description; _cg1.minLevel = _cg2.minLevel; _cg1.type = _cg2.type; _cg1.bonus = _cg2.bonus; _cg1.coefLvlBonus = _cg2.coefLvlBonus; }
/// <summary> /// Constructor. /// </summary> public Skill(SkillsConfig config, IList <string> data) { this.Name = ParseHelper.SafeStringParse(data, config.Name, "Name", true); this.SpriteURL = ParseHelper.SafeURLParse(data, config.SpriteURL, "Sprite URL", false); this.TextFields = ParseHelper.StringListParse(data, config.TextFields); //Check if skill effects are configured if (config.Effect != null) { this.Effect = BuildSkillEffect(ParseHelper.SafeStringParse(data, config.Effect.Type, "Skill Effect Type", false), ParseHelper.StringListParse(data, config.Effect.Parameters, true)); } else { this.Effect = null; } }
private void SetConfig(string _id) { config = Global.Instance.CONFIGS.skills.GetConfig(_id); }
private void SetConfig() { config = Global.Instance.CONFIGS.skills.GetConfig(id); }
public SkillsConfig(SkillsConfig _cg2) { this.Copy(_cg2); }