//PhthaloBlue: these blocks of codes below are from Chest Pooling mod by mralbobo
        //repo link here: https://github.com/mralbobo/stardew-chest-pooling, they are useful so I use them
        static StardewValley.Objects.Chest getOpenChest()
        {
            if (StardewValley.Game1.activeClickableMenu == null)
            {
                return(null);
            }

            if (StardewValley.Game1.activeClickableMenu is StardewValley.Menus.ItemGrabMenu)
            {
                StardewValley.Menus.ItemGrabMenu menu = StardewValley.Game1.activeClickableMenu as StardewValley.Menus.ItemGrabMenu;
                if (menu.behaviorOnItemGrab != null && menu.behaviorOnItemGrab.Target is StardewValley.Objects.Chest)
                {
                    return(menu.behaviorOnItemGrab.Target as StardewValley.Objects.Chest);
                }
            }
            //else
            //{
            //    if (StardewValley.Game1.activeClickableMenu.GetType().Name == "ACAMenu")
            //    {
            //        dynamic thing = (dynamic)StardewValley.Game1.activeClickableMenu;
            //        if (thing != null && thing.chestItems != null)
            //        {
            //            StardewValley.Objects.Chest aChest = new StardewValley.Objects.Chest(true);
            //            aChest.items = thing.chestItems;
            //            return (aChest);
            //        }
            //    }
            //}
            return(null);
        }
示例#2
0
        private static Chest GetOpenChest()
        {
            if (Game1.activeClickableMenu == null)
            {
                return(null);
            }

            if (Game1.activeClickableMenu is StardewValley.Menus.ItemGrabMenu)
            {
                StardewValley.Menus.ItemGrabMenu menu = Game1.activeClickableMenu as StardewValley.Menus.ItemGrabMenu;
                if (menu.behaviorOnItemGrab != null && menu.behaviorOnItemGrab.Target is Chest)
                {
                    return(menu.behaviorOnItemGrab.Target as Chest);
                }
            }
            return(null);
        }