Ejemplo n.º 1
0
        public static void TryCloseItemGrabMenu(ItemGrabMenu menu)
        {
            if (!menu.areAllItemsTaken() || menu.heldItem != null)
            {
                return;
            }

            if (menu.shippingBin || ShippingEstimationInfoBox.IsCaShippingBinMenu(menu))
            {
                //It's a shipping bin.
                return;
            }

            if (menu.context is Event && GetEssential(menu))
            {
                // You should not emergency close in events (it may stop the dialogue).
                return;
            }

            switch (menu.source)
            {
            case ItemGrabMenu.source_chest:
            case ItemGrabMenu.source_none when menu.context == null:
                return;     // It's a chest.
            }

            menu.exitThisMenu();
        }