private static SkillData Convert_ToClass(_SkillData_int Data) { try { List <Rune> Runes = new List <Rune>(); foreach (var rune in Data.Power.Runes) { Rune newRune = new Rune(rune.Name, rune.RuneIndex, rune._DamageType); Runes.Add(newRune); } SkillPower Power = new SkillPower(Data.Power.PowerSNO, Data.Power.Name, Runes, Data.Power.ResourceCost, Data.Power.IsPrimaryResource, false); Rune SelectedRune = new Rune(Data.SelectedRune.Name, Data.SelectedRune.RuneIndex, Data.SelectedRune._DamageType); List <CastCondition> CastConditions = new List <CastCondition>(); if (Data.CastConditions != null) { foreach (var condition in Data.CastConditions) { double[] values = Array.ConvertAll(condition.Values, x => (double)x); CastCondition newCondition = new CastCondition(condition.ConditionGroup, condition.Type, values, condition.ValueNames); CastConditions.Add(newCondition); } } SkillData Class = new SkillData(Power, Data.Name, SelectedRune, CastConditions); return(Class); } catch { return(default(SkillData)); } }
public static List <SkillData> Load() { try { List <SkillData> CustomDefinitions = new List <SkillData>(); if (Directory.Exists(Dir_Definitions)) { var files = Directory.GetFiles(Dir_Definitions); foreach (var file in files) { bool failed; _SkillData _skilldata = BinaryFile.ReadFromFile <_SkillData>(file, out failed); if (!failed) { SkillData newSkillData = Convert_ToClass(_skilldata); CustomDefinitions.Add(newSkillData); } else { _SkillData_int _skilldata_int = BinaryFile.ReadFromFile <_SkillData_int>(file, out failed); SkillData newSkillData = Convert_ToClass(_skilldata_int); CustomDefinitions.Add(newSkillData); } } } return(CustomDefinitions); } catch { return(new List <SkillData>()); } }