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);
     }
 }
Ejemplo n.º 3
0
 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);
 }