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 bool IsBlocked(IUsable target, PlayerControl pc) { if (target == null) { return(false); } Console targetConsole = target.TryCast <Console>(); SystemConsole targetSysConsole = target.TryCast <SystemConsole>(); MapConsole targetMapConsole = target.TryCast <MapConsole>(); if ((targetConsole != null && IsBlocked(targetConsole, pc)) || (targetSysConsole != null && IsBlocked(targetSysConsole, pc)) || (targetMapConsole != null && !MapOptions.canUseAdmin)) { return(true); } return(false); }