internal void AddToFilter(Filterdata filterdata) { if (filterdata.FilterItems.Length == 0) { // DebugLog.Write("AddToFilter called with 0 items to add. ignoring..."); return; } var inventory = (MyInventory)MyCargoContainer.GetInventory(); for (int i = 0; i < filterdata.FilterItems.Length; i++) { if (filterdata.FilterItems[i].Type == FilterType.FILTER_TYPE) { MyObjectBuilderType type; if (MyObjectBuilderType.TryParse(filterdata.FilterItems[i].ParseItem, out type) == true) { if (!inventory.Constraint.ConstrainedTypes.Contains(type)) { inventory.Constraint.AddObjectBuilderType(type); } } } if (filterdata.FilterItems[i].Type == FilterType.FILTER_ITEM) { MyDefinitionId Id; if (MyDefinitionId.TryParse(filterdata.FilterItems[i].ParseItem, out Id) == true) { if (!inventory.Constraint.ConstrainedIds.Contains(Id)) { inventory.Constraint.Add(Id); } } } if (!FilterController.FilterList.Contains(filterdata.FilterItems[i])) { FilterController.FilterList.Add(filterdata.FilterItems[i]); } } inventory.Constraint.Icon = null; SaveData(); }