static void Postfix(MechBayMechStorageWidget __instance, List <IMechLabDraggableItem> ___inventory, IMechLabDropTarget ___parentDropTarget) { // Not MechBay, skip if (___parentDropTarget == null || !(___parentDropTarget is MechBayPanel mechBayPanel)) { return; } // Components tab isn't selected, skip if (!__instance.gameObject.activeInHierarchy) { return; } if (___inventory != null && ___inventory.Count > 0 && Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt)) { string titleLT = new Text(Mod.LocalizedText.Dialog[ModText.DT_Title_ScrapMediums]).ToString(); List <ChassisCount> chassisCounts = ___inventory .OfType <MechBayChassisUnitElement>() .Where(x => x.ChassisDef.weightClass == WeightClass.MEDIUM) .Select(x => ScrapHelper.MapChassisUnitElement(x, __instance.Sim)) .ToList(); ScrapHelper.BuildScrapAllDialog(chassisCounts, __instance.Sim.Constants.Finances.MechScrapModifier, titleLT, delegate { ScrapHelper.ScrapChassis(chassisCounts); }); } }
static bool Prefix(MechBayMechStorageWidget __instance) { __instance.inventory = SortStorageWidgetMechs(__instance.inventory); Traverse.Create(__instance).Method("ApplySort").GetValue(); return(false); }