예제 #1
0
        private void generateEngineTypes()
        {
            foreach (List <string> ls in Core.propellantCombos)
            {
                List <Check> checks = new List <Check>();
                string       props  = "";
                foreach (string s in ls)
                {
                    if (props != "")
                    {
                        props += ",";
                    }

                    checks.Add(new Check("propellant", s));
                    props += s;
                }

                customSubCategory sC = new customSubCategory(props, this.categoryName, "stock_Engines");

                Filter f = new Filter(false);
                f.checks = checks;
                sC.filters.Add(f);

                Core.Instance.subCategories.Add(sC);

                if (Core.Instance.categoryAllSub.ContainsKey(categoryName))
                {
                    Core.Instance.categoryAllSub[categoryName].filters.Add(f);
                }
            }
        }
예제 #2
0
        public bool Equals(customSubCategory sC2)
        {
            if (sC2 == null)
            {
                return(false);
            }

            if (this.category != sC2.category || this.hasFilters != sC2.hasFilters || this.iconName != sC2.iconName ||
                this.oldTitle != sC2.oldTitle || this.subCategoryTitle != sC2.subCategoryTitle)
            {
                return(false);
            }

            if (this.filters.Count != sC2.filters.Count)
            {
                return(false);
            }

            foreach (Filter f1 in this.filters)
            {
                if (!sC2.filters.Any(f2 => f1.Equals(f2)))
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #3
0
 public void Start()
 {
     customTestCategory = new customSubCategory("testCategory", "");
     customTestCategory.filters.Add(new Filter(false));
     customTestCategory.filters[0].checks.Add(defaultCheck());
     if (btn == null)
         btn = ApplicationLauncher.Instance.AddModApplication(Toggle, Toggle, null, null, null, null, ApplicationLauncher.AppScenes.VAB | ApplicationLauncher.AppScenes.SPH, (Texture2D)GameDatabase.Instance.GetTexture("000_FilterExtensions/Icons/FilterCreator", false));
     StartCoroutine(initialise());
     populateLists();
 }
예제 #4
0
 /// <summary>
 /// check to see if any checks in a subcategory match a given check
 /// </summary>
 /// <param name="subcategory"></param>
 /// <param name="type"></param>
 /// <param name="value"></param>
 /// <param name="contains"></param>
 /// <param name="equality"></param>
 /// <param name="invert"></param>
 /// <returns>true if there is a matching check in the category</returns>
 public static bool checkForCheckMatch(customSubCategory subcategory, CheckType type, string value, bool invert = false, bool contains = true, Check.Equality equality = Check.Equality.Equals)
 {
     for (int j = 0; j < subcategory.filters.Count; j++)
     {
         Filter f = subcategory.filters[j];
         for (int k = 0; k < f.checks.Count; k++)
         {
             Check c = f.checks[k];
             if (c.type == type && c.value == value && c.invert == invert && c.contains == contains && c.equality == equality)
                 return true;
         }
     }
     return false;
 }
예제 #5
0
        private void generateModSubCategories()
        {
            foreach (string s in categoryNames)
            {
                Check             ch1 = new Check("folder", value);
                Check             ch2 = new Check("category", s);
                Filter            f   = new Filter(false);
                customSubCategory sC  = new customSubCategory(s, categoryName, "stock_" + s);

                f.checks.Add(ch1);
                f.checks.Add(ch2);
                sC.filters.Add(f);

                Core.Instance.subCategories.Add(sC);

                if (Core.Instance.categoryAllSub.ContainsKey(categoryName))
                {
                    Core.Instance.categoryAllSub[categoryName].filters.Add(f);
                }
            }
        }
예제 #6
0
        public bool Equals(customSubCategory sC2)
        {
            if (sC2 == null)
                return false;

            if (this.subCategoryTitle == sC2.subCategoryTitle)
                return true;

            return false;
        }