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); } } }
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); }
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(); }
/// <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; }
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); } } }
public bool Equals(customSubCategory sC2) { if (sC2 == null) return false; if (this.subCategoryTitle == sC2.subCategoryTitle) return true; return false; }