Пример #1
0
            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);
            }
Пример #2
0
 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;
     }
 }