コード例 #1
0
 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());
     }
 }
コード例 #2
0
        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);
        }