public static void Postfix(MechLabLocationWidget __instance) { try { var widget = __instance; void Setup(LanceStat lanceStat, bool isRearArmor) { var child = lanceStat.transform.Find("hit_tooltip"); var button = child.gameObject.GetComponent <Button>() ?? child.gameObject.AddComponent <Button>(); button.onClick.RemoveAllListeners(); button.onClick.AddListener(() => ArmorMaximizerHandler.OnBarClick(widget, isRearArmor)); Control.Logger.Trace?.Log($"Added onClick Location={widget.chassisLocationDef.Location.GetShortString()} isRearArmor={isRearArmor}"); } Setup(widget.armorBar, false); if (widget.useRearArmor) { Setup(widget.rearArmorBar, true); } } catch (Exception e) { Control.Logger.Error.Log(e); } }
public static void Postfix(MechLabLocationWidget __instance) { try { ArmorMaximizerHandler.OnRefreshArmor(__instance); } catch (Exception e) { Control.Logger.Error.Log(e); } }
public static bool Prefix(MechLabLocationWidget __instance) { try { ArmorMaximizerHandler.OnArmorAddOrSubtract(__instance, true, +1f); return(false); } catch (Exception e) { Control.Logger.Error.Log(e); } return(true); }
public static bool Prefix(MechLabPanel __instance, MechLabMechInfoWidget ___mechInfoWidget, MechLabItemSlotElement ___dragItem) { try { if (__instance.Initialized && ___dragItem == null && !LocationExtensions.ChassisLocationList.Any(location => __instance.GetLocationWidget(location).IsDestroyed)) { ArmorMaximizerHandler.OnMaxArmor(__instance, ___mechInfoWidget); return(false); } } catch (Exception e) { Control.Logger.Error.Log(e); } return(true); }