private List <AutosorterFilter> GetAvailableTypes() { if (currentMode == Mode.Categories) { return(AutosorterList.GetFilters().Where((e) => e.IsCategory()).ToList()); } else { return(AutosorterList.GetFilters().Where((e) => !e.IsCategory()).ToList()); } }
private List <AutosorterFilter> GetNewVersion(List <AutosorterFilter> filterData) { Dictionary <TechType, AutosorterFilter> validItems = new Dictionary <TechType, AutosorterFilter>(); Dictionary <string, AutosorterFilter> validCategories = new Dictionary <string, AutosorterFilter>(); var filterList = AutosorterList.GetFilters(); foreach (var filter in filterList) { if (filter.IsCategory()) { validCategories[filter.Category] = filter; } else { validItems[filter.Types[0]] = filter; } } var newData = new List <AutosorterFilter>(); foreach (var filter in filterData) { if (validCategories.ContainsKey(filter.Category) || filter.Category == "") { newData.Add(filter); continue; } if (filter.Category == "0") { filter.Category = ""; newData.Add(filter); continue; } var newTypes = AutosorterList.GetOldFilter(filter.Category, out bool success, out string newCategory); if (success) { newData.Add(new AutosorterFilter() { Category = newCategory, Types = newTypes }); continue; } newData.Add(filter); } return(newData); }