public static bool Prefix(UseButtonManager __instance, IUsable CAKODNGLPDF) { if (CAKODNGLPDF == null) { return(true); } var Console = CAKODNGLPDF.TryCast <Console>(); if (Console == null) { return(true); } if (!Map.ContainsKey(Console.ConsoleId)) { return(true); } var CustomUsable = Map[Console.ConsoleId]; __instance.currentTarget = CAKODNGLPDF; __instance.UseButton.sprite = CustomUsable.UseIcon != null ? CustomUsable.UseIcon : __instance.UseImage; CooldownHelpers.SetCooldownNormalizedUvs(__instance.UseButton); __instance.UseButton.material.SetFloat(Globals.PERCENT, CustomUsable.PercentCooldown); __instance.UseButton.color = UseButtonManager.EnabledColor; return(false); }
public static void UseButtonManager_SetTarget(UseButtonManager __instance, [HarmonyArgument(0)] IUsable?target) { if (target == null && PlayerControl.LocalPlayer != null && PlayerControl.LocalPlayer.Data != null && (PlayerControl.LocalPlayer.GetRole()?.CanSabotage(null) ?? false) && PlayerControl.LocalPlayer.CanMove) { __instance.UseButton.sprite = TranslationController.Instance.GetImage(ImageNames.SabotageButton); CooldownHelpers.SetCooldownNormalizedUvs(__instance.UseButton); __instance.UseButton.color = UseButtonManager.EnabledColor; } }