/// <summary> /// Removes the delegates that handle the button click and draw method of the tab /// </summary> private void removeModOptionButtonFromMenu(object sender, EventArgsClickableMenuClosed e) { if (optionPageButton == null) { return; } GraphicsEvents.OnPostRenderEvent -= drawButton; ControlEvents.MouseChanged -= optionPageButton.onLeftClick; optionPageButton = null; }
/// <summary> /// Attaches the delegates that handle the button click and draw method of the tab /// </summary> private void addModOptionButtonToMenu(object sender, EventArgsClickableMenuChanged e) { if (!(Game1.activeClickableMenu is GameMenu)) { return; } // Remove before adding just for good measure GraphicsEvents.OnPostRenderEvent -= drawButton; GraphicsEvents.OnPostRenderEvent += drawButton; optionPageButton = new ModOptionsPageButton(this); var optionMenu = new ModOptionsPage(options); List <IClickableMenu> pages = ModEntry.helper.Reflection.GetPrivateField <List <IClickableMenu> >(Game1.activeClickableMenu, "pages").GetValue(); pages.Add(optionMenu); }