private SimpleModPackEntries GetEntry(Mod mod, Modding modding) { if (mod.fullPath.Equals(string.Empty)) { return(null); } SimpleModPackEntries entry = new SimpleModPackEntries(); entry.Name = mod.name; entry.Category = mod.category; XivRace race = GetRace(mod.fullPath); entry.Race = race.GetDisplayName(); entry.Type = GetType(mod.fullPath); entry.Part = GetPart(mod.fullPath); entry.Num = GetNumber(mod.fullPath); entry.Map = GetMap(mod.fullPath); entry.Active = mod.enabled || mod.data.modOffset == mod.data.originalOffset; entry.ModEntry = mod; return(entry); }
/// <summary> /// Creates the simple mod pack data list /// </summary> /// <returns>Task</returns> private async Task MakeSimpleDataList() { DirectoryInfo modListDirectory = new DirectoryInfo(Path.Combine(_gameDirectory.Parent.Parent.FullName, XivStrings.ModlistFilePath)); Modding modding = new Modding(_gameDirectory); ModList modList = JsonConvert.DeserializeObject <ModList>(File.ReadAllText(modListDirectory.FullName)); List <SimpleModPackEntries> entries = new List <SimpleModPackEntries>(); foreach (Mod mod in modList.Mods) { SimpleModPackEntries entry = GetEntry(mod, modding); if (entry == null) { continue; } entries.Add(entry); } await System.Windows.Application.Current.Dispatcher.InvokeAsync(() => { foreach (SimpleModPackEntries entry in entries) { this.Entries.Add(entry); } }); }