private void MenuChanged(object sender, EventArgsClickableMenuChanged e) { if (e.NewMenu is GameMenu gameMenu) { var craftingTabNum = gameMenu.getTabNumberFromName("crafting"); var pages = this.Helper.Reflection.GetFieldValue <List <IClickableMenu> >(gameMenu, "pages"); pages[craftingTabNum] = new BetterCraftingPage(this, this.categoryData, this.lastCategory); } }
/// <summary>Raised after a game menu is opened, closed, or replaced.</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event data.</param> private void OnMenuChanged(object sender, MenuChangedEventArgs e) { switch (e.NewMenu) { case null: oldMenu = false; break; case GameMenu gameMenu when !oldMenu: { var craftingTabNum = gameMenu.getTabNumberFromName("crafting"); var pages = this.Helper.Reflection.GetFieldValue <List <IClickableMenu> >(gameMenu, "pages"); pages[craftingTabNum] = new BetterCraftingPage(this, this.categoryData, this.lastCategory); break; } } }