/// <summary>Raised after a game menu is opened, closed, or replaced.</summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event arguments.</param> private void onMenuChanged(object sender, MenuChangedEventArgs e) { if (!(e.NewMenu is ShopMenu menu) || menu.portraitPerson == null) { return; } if (menu.portraitPerson.Name == "Pierre") { var forSale = Helper.Reflection.GetField <List <Item> >(menu, "forSale").GetValue(); var itemPriceAndStock = Helper.Reflection.GetField <Dictionary <Item, int[]> >(menu, "itemPriceAndStock").GetValue(); for (int i = Grass.caveGrass; i < 5 + GrassStarterItem.ExtraGrassTypes; ++i) { var item = new GrassStarterItem(i); forSale.Add(item); itemPriceAndStock.Add(item, new int[] { 100, int.MaxValue }); } } }
/// <inheritdoc cref="IDisplayEvents.MenuChanged"/> /// <param name="sender">The event sender.</param> /// <param name="e">The event arguments.</param> private void OnMenuChanged(object sender, MenuChangedEventArgs e) { if (e.NewMenu is not ShopMenu menu || menu.portraitPerson == null) { return; } if (menu.portraitPerson.Name == "Pierre") { var forSale = menu.forSale; var itemPriceAndStock = menu.itemPriceAndStock; for (int i = Grass.caveGrass; i < 5 + GrassStarterItem.ExtraGrassTypes; ++i) { var item = new GrassStarterItem(i); forSale.Add(item); itemPriceAndStock.Add(item, new[] { 100, int.MaxValue }); } } }