public static bool CharacterCreation_PushedButton(CharacterCreation __instance, ButtonHelper myButton) { bool debug = RogueFramework.IsDebugEnabled(DebugFlags.UnlockMenus); if (__instance.selectedSpace == "Load") { if (debug) { RogueFramework.LogDebug("Redirecting the button push to the original method."); } return(true); } if (debug) { RogueFramework.LogDebug($"Pressing \"{myButton.myText.text}\" ({myButton.scrollingButtonNum}, {myButton.scrollingButtonType}) button."); } string type = myButton.scrollingButtonUnlock.unlockType; List <ButtonData> buttonsData = type == UnlockTypes.Item ? __instance.buttonsDataItems : type == UnlockTypes.Trait ? __instance.buttonsDataTraits : type == UnlockTypes.Ability ? __instance.buttonsDataAbilities : type == UnlockTypes.BigQuest ? __instance.buttonsDataBigQuests : null; ButtonData buttonData = buttonsData[myButton.scrollingButtonNum]; DisplayedUnlock du = (DisplayedUnlock)buttonData.__RogueLibsCustom; try { du.OnPushedButton(); } catch (Exception e) { RogueFramework.LogError(e, "DisplayedUnlock.OnPushedButton", du, du.Menu); } __instance.curSelectedButton = myButton; __instance.curSelectedButtonNum = myButton.scrollingButtonNum; return(false); }
public static bool ScrollingMenu_PushedButton(ScrollingMenu __instance, ButtonHelper myButton) { bool debug = RogueFramework.IsDebugEnabled(DebugFlags.UnlockMenus); if (__instance.menuType.EndsWith("Configs")) { if (debug) { RogueFramework.LogDebug("Redirecting the button push to the original method."); } return(true); } if (debug) { RogueFramework.LogDebug($"Pressing \"{myButton.myText.text}\" ({myButton.scrollingButtonNum}, {myButton.scrollingButtonType}) button."); } ButtonData buttonData = __instance.buttonsData[myButton.scrollingButtonNum]; DisplayedUnlock du = (DisplayedUnlock)buttonData.__RogueLibsCustom; try { du.OnPushedButton(); } catch (Exception e) { RogueFramework.LogError(e, "DisplayedUnlock.OnPushedButton", du, du.Menu); } return(false); }