From 3ec35235021a8a037ff88c94956fdff86ee3ff30 Mon Sep 17 00:00:00 2001 From: Crzyrndm Date: Thu, 21 Apr 2016 21:08:46 +1200 Subject: [PATCH] 1.1 compatiblity --- FilterExtension/ConfigNodes/Check.cs | 61 ++++---- FilterExtension/ConfigNodes/Filter.cs | 14 +- FilterExtension/ConfigNodes/customCategory.cs | 4 +- .../ConfigNodes/customSubCategory.cs | 20 ++- FilterExtension/Core.cs | 38 ----- FilterExtension/Editor.cs | 38 ++++- FilterExtension/Utility/PartType.cs | 2 +- .../StockRework/FilterbyFunction.cfg | 16 --- .../StockRework/Subcategories.cfg | 130 ------------------ .../000_FilterExtensions/FilterExtensions.dll | Bin 59904 -> 59904 bytes .../FilterExtensions.version | 2 +- 11 files changed, 102 insertions(+), 223 deletions(-) delete mode 100644 GameData/000_FilterExtensions Configs/StockRework/FilterbyFunction.cfg delete mode 100644 GameData/000_FilterExtensions Configs/StockRework/Subcategories.cfg diff --git a/FilterExtension/ConfigNodes/Check.cs b/FilterExtension/ConfigNodes/Check.cs index 6e24216c..4d905f5d 100644 --- a/FilterExtension/ConfigNodes/Check.cs +++ b/FilterExtension/ConfigNodes/Check.cs @@ -7,7 +7,7 @@ namespace FilterExtensions.ConfigNodes { using Utility; - public class Check + public class Check : ICloneable { public enum CheckType { @@ -139,13 +139,17 @@ public Check(ConfigNode node) public Check(Check c) { type = c.type; - values = (string[])c.values.Clone(); + if (c.values != null) + values = (string[])c.values.Clone(); invert = c.invert; contains = c.contains; - checks = new List(); - for (int i = 0; i < c.checks.Count; i++) - checks.Add(new Check(c.checks[i])); + if (c.checks != null) + { + checks = new List(c.checks.Count); + for (int i = 0; i < c.checks.Count; ++i) + checks.Add(new Check(c.checks[i])); + } } public Check(string Type, string Value, bool Invert = false, bool Contains = true, Equality Compare = Equality.Equals) @@ -161,26 +165,6 @@ public Check(string Type, string Value, bool Invert = false, bool Contains = tru checks = new List(); } - public ConfigNode toConfigNode() - { - ConfigNode node = new ConfigNode("CHECK"); - node.AddValue("type", type.typeString); - - if (values != null) - node.AddValue("value", string.Join(",", values)); - node.AddValue("invert", invert.ToString()); - - if (type.usesContains) - node.AddValue("contains", contains.ToString()); - if (type.usesEquality) - node.AddValue("equality", equality.ToString()); - - foreach (Check c in this.checks) - node.AddNode(c.toConfigNode()); - - return node; - } - public bool checkPart(AvailablePart part, int depth = 0) { bool result = true; @@ -286,7 +270,32 @@ public static CheckParameters getCheckType(string type) public bool isEmpty() { - return !checks.Any() || values == null || values.Length > 0; + return !checks.Any() && (values == null || values.Length == 0); + } + + public ConfigNode toConfigNode() + { + ConfigNode node = new ConfigNode("CHECK"); + node.AddValue("type", type.typeString); + + if (values != null) + node.AddValue("value", string.Join(",", values)); + node.AddValue("invert", invert.ToString()); + + if (type.usesContains) + node.AddValue("contains", contains.ToString()); + if (type.usesEquality) + node.AddValue("equality", equality.ToString()); + + foreach (Check c in this.checks) + node.AddNode(c.toConfigNode()); + + return node; + } + + public object Clone() + { + return new Check(this); } public bool Equals(Check c2) diff --git a/FilterExtension/ConfigNodes/Filter.cs b/FilterExtension/ConfigNodes/Filter.cs index 8c9c0dfa..86ce947d 100644 --- a/FilterExtension/ConfigNodes/Filter.cs +++ b/FilterExtension/ConfigNodes/Filter.cs @@ -5,7 +5,7 @@ namespace FilterExtensions.ConfigNodes { - public class Filter + public class Filter : ICloneable { public List checks { get; set; } // checks are processed in serial (a && b), inversion gives (!a || !b) logic public bool invert { get; set; } @@ -52,14 +52,14 @@ public ConfigNode toConfigNode() return node; } + public object Clone() + { + return new Filter(this); + } + internal bool checkFilter(AvailablePart part, int depth = 0) { - for (int i = 0; i < checks.Count; i++) - { - if (!checks[i].checkPart(part, depth)) - return invert ? true : false; - } - return invert ? false : true; + return invert ? !checks.All(c => c.checkPart(part, depth)) : checks.All(c => c.checkPart(part, depth)); } /// diff --git a/FilterExtension/ConfigNodes/customCategory.cs b/FilterExtension/ConfigNodes/customCategory.cs index c2b78f3c..ba82ac85 100644 --- a/FilterExtension/ConfigNodes/customCategory.cs +++ b/FilterExtension/ConfigNodes/customCategory.cs @@ -142,7 +142,7 @@ public void initialise() continue; } - List conflictsList; + //List conflictsList; #warning subcategory conflicts are broken and doing stupid things //if (Core.Instance.conflictsDict.TryGetValue(subcategoryItem.subcategoryName, out conflictsList)) //{ @@ -156,7 +156,7 @@ public void initialise() // } //} - customSubCategory sC = new customSubCategory(subcategory.toConfigNode()); + customSubCategory sC = new customSubCategory(subcategory); if (subcategoryItem.applyTemplate) sC.template = templates; diff --git a/FilterExtension/ConfigNodes/customSubCategory.cs b/FilterExtension/ConfigNodes/customSubCategory.cs index 94ca2853..da9d7b8b 100644 --- a/FilterExtension/ConfigNodes/customSubCategory.cs +++ b/FilterExtension/ConfigNodes/customSubCategory.cs @@ -6,7 +6,7 @@ namespace FilterExtensions.ConfigNodes { using KSP.UI.Screens; - public class customSubCategory + public class customSubCategory : ICloneable { public string subCategoryTitle { get; set; } // title of this subcategory public string iconName { get; set; } // default icon to use @@ -39,6 +39,19 @@ public customSubCategory(ConfigNode node) template = new List(); } + public customSubCategory(customSubCategory subCat) + { + subCategoryTitle = subCat.subCategoryTitle; + iconName = subCat.iconName; + filters = new List(subCat.filters.Count); + subCat.filters.ForEach(f => filters.Add(new Filter(f))); + + template = new List(subCat.template.Count); + subCat.template.ForEach(f => template.Add(new Filter(f))); + + unPurchasedOverride = subCat.unPurchasedOverride; + } + public customSubCategory(string name, string icon) { filters = new List(); @@ -77,6 +90,11 @@ public ConfigNode toConfigNode() return node; } + public object Clone() + { + return new customSubCategory(this); + } + /// /// called by subcategory check type, has depth limit protection /// diff --git a/FilterExtension/Core.cs b/FilterExtension/Core.cs index 9b53e63b..37f057d0 100644 --- a/FilterExtension/Core.cs +++ b/FilterExtension/Core.cs @@ -300,8 +300,6 @@ private void generateEngineTypes() f.checks = checks; sC.filters.Add(f); subCategoriesDict.Add(name, sC); - - Log(sC.toConfigNode()); } } } @@ -373,42 +371,6 @@ private bool stringListComparer(List propellants) return false; } - /// - /// refresh the visible subcategories to ensure all changes are visible - /// - public static void setSelectedCategory() - { - try - { - PartCategorizer.Category Filter = PartCategorizer.Instance.filters.FirstOrDefault(f => f.button.activeButton.CurrentState == KSP.UI.UIRadioButton.State.True); - if (Filter != null) - Filter.button.activeButton.SetState(KSP.UI.UIRadioButton.State.False, KSP.UI.UIRadioButton.CallType.APPLICATIONSILENT, null); - - Filter = PartCategorizer.Instance.filters.FirstOrDefault(f => f.button.categoryName == Settings.categoryDefault); - if (Filter != null) - Filter.button.activeButton.SetState(KSP.UI.UIRadioButton.State.True, KSP.UI.UIRadioButton.CallType.APPLICATIONSILENT, null); - else - { - Filter = PartCategorizer.Instance.filters[0]; - if (Filter != null) - { - Filter.button.activeButton.SetState(KSP.UI.UIRadioButton.State.True, KSP.UI.UIRadioButton.CallType.APPLICATIONSILENT, null); - } - } - - // set the subcategory button - //Filter = Filter.subcategories.FirstOrDefault(sC => sC.button.categoryName == instance.subCategoryDefault); - //if (Filter != null && Filter.button.activeButton.State != RUIToggleButtonTyped.ButtonState.TRUE) - // Filter.button.activeButton.SetTrue(Filter.button.activeButton, RUIToggleButtonTyped.ClickType.FORCED); - } - catch (Exception e) - { - Log("Category refresh failed"); - Log(e.InnerException); - Log(e.StackTrace); - } - } - /// /// mark all subcategories that have identical filtering /// diff --git a/FilterExtension/Editor.cs b/FilterExtension/Editor.cs index e00a5a21..1a06c802 100644 --- a/FilterExtension/Editor.cs +++ b/FilterExtension/Editor.cs @@ -110,11 +110,47 @@ IEnumerator editorInit() yield return null; if (Settings.debug) Core.Log("Refreshing parts list"); - Core.setSelectedCategory(); + setSelectedCategory(); ready = true; } + /// + /// refresh the visible subcategories to ensure all changes are visible + /// + public static void setSelectedCategory() + { + //try + //{ + // PartCategorizer.Category Filter = PartCategorizer.Instance.filters.FirstOrDefault(f => f.button.activeButton.CurrentState == KSP.UI.UIRadioButton.State.True); + // if (Filter != null) + // Filter.button.activeButton.SetState(KSP.UI.UIRadioButton.State.False, KSP.UI.UIRadioButton.CallType.APPLICATIONSILENT, null); + + // Filter = PartCategorizer.Instance.filters.FirstOrDefault(f => f.button.categoryName == Settings.categoryDefault); + // if (Filter != null) + // Filter.button.activeButton.SetState(KSP.UI.UIRadioButton.State.True, KSP.UI.UIRadioButton.CallType.APPLICATIONSILENT, null); + // else + // { + // Filter = PartCategorizer.Instance.filters[0]; + // if (Filter != null) + // { + // Filter.button.activeButton.SetState(KSP.UI.UIRadioButton.State.True, KSP.UI.UIRadioButton.CallType.APPLICATIONSILENT, null); + // } + // } + + // // set the subcategory button + // //Filter = Filter.subcategories.FirstOrDefault(sC => sC.button.categoryName == instance.subCategoryDefault); + // //if (Filter != null && Filter.button.activeButton.State != RUIToggleButtonTyped.ButtonState.TRUE) + // // Filter.button.activeButton.SetTrue(Filter.button.activeButton, RUIToggleButtonTyped.ClickType.FORCED); + //} + //catch (Exception e) + //{ + // Core.Log("Category refresh failed"); + // Core.Log(e.InnerException); + // Core.Log(e.StackTrace); + //} + } + /// /// checks all subcats not created by FE for visibility of parts set to "category = none" /// diff --git a/FilterExtension/Utility/PartType.cs b/FilterExtension/Utility/PartType.cs index 1fc06a05..050d8a38 100644 --- a/FilterExtension/Utility/PartType.cs +++ b/FilterExtension/Utility/PartType.cs @@ -460,7 +460,7 @@ public static bool checkCrewCapacity(AvailablePart part, string[] value, ConfigN else // only compare against the first value here { if (value.Length > 1) - Core.Log("Size comparisons against multiple values when not using Equals only use the first value. Value list is: {0}", string.Join(", ", value)); + Core.Log("Crew comparisons against multiple values when not using Equals only use the first value. Value list is: {0}", string.Join(", ", value)); int i; if (int.TryParse(value[0], out i)) diff --git a/GameData/000_FilterExtensions Configs/StockRework/FilterbyFunction.cfg b/GameData/000_FilterExtensions Configs/StockRework/FilterbyFunction.cfg deleted file mode 100644 index f0b225ef..00000000 --- a/GameData/000_FilterExtensions Configs/StockRework/FilterbyFunction.cfg +++ /dev/null @@ -1,16 +0,0 @@ -@CATEGORY[Filter?by?Function] -{ - @SUBCATEGORIES - { - list = 0,Command and Crew - list = 1,Attitude Control - list = 2,Fuel Tanks - list = 3,Engines - list = 4,Structural - list = 5,General Aero - list = 6,Flight - list = 7,Misc - list = 8,Electrical - list = 9,Science - } -} \ No newline at end of file diff --git a/GameData/000_FilterExtensions Configs/StockRework/Subcategories.cfg b/GameData/000_FilterExtensions Configs/StockRework/Subcategories.cfg deleted file mode 100644 index f96d0338..00000000 --- a/GameData/000_FilterExtensions Configs/StockRework/Subcategories.cfg +++ /dev/null @@ -1,130 +0,0 @@ -SUBCATEGORY -{ - name = Command and Crew - icon = stockIcon_pods - FILTER - { - CHECK - { - type = category - value = Pods - } - } - FILTER - { - CHECK - { - type = crew - value = 0 - equality = GreaterThan - } - } -} -SUBCATEGORY -{ - name = Attitude Control - icon = stockIcon_cmdctrl - FILTER - { - CHECK - { - type = category - value = Command and Control - } - } - FILTER - { - CHECK - { - type = subcategory - value = Control Surface - } - } -} -SUBCATEGORY -{ - name = General Aero - icon = Fairing - FILTER - { - CHECK - { - type = category - value = Aerodynamics - } - CHECK - { - type = subcategory - value = Wings, Control Surface - invert = true - } - } - FILTER - { - CHECK - { - type = subcategory - value = Parachutes, Adapter, Cargo Bay - } - } -} -SUBCATEGORY -{ - name = Flight - icon = Wings - FILTER - { - CHECK - { - type = subcategory - value = Wings, Control Surface - } - } - FILTER - { - CHECK - { - type = moduleName - value = ModuleAeroSurface - } - } -} -SUBCATEGORY -{ - name = Misc - icon = stockIcon_utility - FILTER - { - CHECK - { - type = category - value = Utility - } - CHECK - { - type = subcategory - value = Generators, Lights, Power Storage, Solar Panels, Cargo Bay, Parachutes - invert = true - } - CHECK - { - type = crew - value = 0 - invert = true - equality = GreaterThan - } - } -} -SUBCATEGORY -{ - name = Electrical - icon = ElectricCharge - FILTER - { - CHECK - { - type = subcategory - value = Generators, Lights, Power Storage, Solar Panels - } - } -} \ No newline at end of file diff --git a/GameData/000_FilterExtensions/FilterExtensions.dll b/GameData/000_FilterExtensions/FilterExtensions.dll index 3666868fd562d36ce95a7d369dc5271a2b434e8c..79651feb3ac8c19026b13ba50afaf020ed8046d8 100644 GIT binary patch literal 59904 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 L{r{i;dlL8`iAK5k literal 59904 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
    gD^i%pd>&|Y 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 G1pXWHSIxr! diff --git a/GameData/000_FilterExtensions/FilterExtensions.version b/GameData/000_FilterExtensions/FilterExtensions.version index bd5322ff..856ca297 100644 --- a/GameData/000_FilterExtensions/FilterExtensions.version +++ b/GameData/000_FilterExtensions/FilterExtensions.version @@ -1 +1 @@ -{"NAME":"Filter Extensions","URL":"https://github.com/Crzyrndm/FilterExtension/blob/master/GameData/000_FilterExtensions/FilterExtensions.version","DOWNLOAD":"https://github.com/Crzyrndm/FilterExtension/releases","VERSION":{"MAJOR":2,"MINOR":4,"PATCH":1,"BUILD":3},"KSP_VERSION":{"MAJOR":1,"MINOR":0,"PATCH":5}} \ No newline at end of file +{"NAME":"Filter Extensions","URL":"https://github.com/Crzyrndm/FilterExtension/blob/master/GameData/000_FilterExtensions/FilterExtensions.version","DOWNLOAD":"https://github.com/Crzyrndm/FilterExtension/releases","VERSION":{"MAJOR":2,"MINOR":4,"PATCH":2,"BUILD":0},"KSP_VERSION":{"MAJOR":1,"MINOR":1,"PATCH":0}} \ No newline at end of file