static bool Prefix(VentButton __instance) { // Manually modifying the VentButton to use Vent.Use again in order to trigger the Vent.Use prefix patch if (__instance.currentTarget != null) { __instance.currentTarget.Use(); } return(false); }
static void Postfix(VentButton __instance) { // Trickster render special vent button if (Trickster.trickster != null && Trickster.trickster == PlayerControl.LocalPlayer) { if (defaultVentSprite == null) { defaultVentSprite = __instance.graphic.sprite; } bool isSpecialVent = __instance.currentTarget != null && __instance.currentTarget.gameObject != null && __instance.currentTarget.gameObject.name.StartsWith("JackInTheBoxVent_"); __instance.graphic.sprite = isSpecialVent ? Trickster.getTricksterVentButtonSprite() : defaultVentSprite; __instance.buttonLabelText.enabled = !isSpecialVent; } }