public void UpdatePartList(PartInventory inventory, string partName, bool selling) { Parts = new List <List <PartInstance> >(); if (partName == null) { return; } IEnumerable <InventoryPart> foundParts; foundParts = inventory?.FindPartsByName(partName) ?? new List <InventoryPart>(); foundParts = EditorHandling.FilterOutUsedParts(foundParts); foreach (InventoryPart iPart in foundParts) { PartInstance instance = new PartInstance(inventory, iPart, selling, ApplyPart); instance.Updated += Instance_Updated; List <PartInstance> list = Parts.FirstOrDefault(l => l.FirstOrDefault()?.BackingPart.IsSameAs(iPart, ComparisonStrength.TRACKER) == true); if (list == null) { list = new List <PartInstance>(); Parts.Add(list); } list.Add(instance); } //sort by number of uses Parts.Sort(leastToMostSorter); }
private void shipOrPartModified() { ScrapYard.Instance.EditorVerificationRequired = true; EditorHandling.UpdateCostUI(); }