Exemple #1
0
        /// <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 });
                }
            }
        }
Exemple #2
0
        /// <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 });
                }
            }
        }