コード例 #1
0
ファイル: BulkScrapping.cs プロジェクト: sqparadox/IRTweaks
        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); });
            }
        }
コード例 #2
0
 static bool Prefix(MechBayMechStorageWidget __instance)
 {
     __instance.inventory = SortStorageWidgetMechs(__instance.inventory);
     Traverse.Create(__instance).Method("ApplySort").GetValue();
     return(false);
 }