Beispiel #1
0
 public virtual void GrabItemFromChest(Item item, Farmer who)
 {
     if (who.couldInventoryAcceptThisItem(item))
     {
         heldItems.Remove(item);
         ClearNulls();
         ShowChestMenu();
     }
 }
 public bool onDresserItemWithdrawn(ISalable salable, Farmer who, int amount)
 {
     if (salable is Item)
     {
         heldItems.Remove(salable as Item);
     }
     return(false);
 }
Beispiel #3
0
        private void HandleExplosion(Vector2 tile, int radius)
        {
            if (radius <= 0)
            {
                return;
            }

            List <ResourceClump>       resourceClumpsCopy       = new List <ResourceClump>(resourceClumps);
            List <LargeTerrainFeature> largeTerrainFeaturesCopy = new List <LargeTerrainFeature>(largeTerrainFeatures);

            bool[,] circleOutlineGrid = Game1.getCircleOutlineGrid(radius);
            for (int x = 0; x < radius * 2 + 1; x++)
            {
                bool isInBombRadius = false;
                for (int y = 0; y < radius * 2 + 1; y++)
                {
                    if (circleOutlineGrid[x, y])
                    {
                        isInBombRadius = !isInBombRadius;
                    }

                    if (isInBombRadius)
                    {
                        Vector2 location = new Vector2(tile.X + x - radius, tile.Y + y - radius);
                        resourceClumpsCopy.RemoveAll(r =>
                        {
                            if (r.getBoundingBox(r.tile.Value).Contains((int)location.X * 64, (int)location.Y * 64))
                            {
                                if (r.performToolAction(null, radius, location, this))
                                {
                                    resourceClumps.Remove(r);
                                }
                                return(true);
                            }
                            return(false);
                        });
                        largeTerrainFeaturesCopy.RemoveAll(lt =>
                        {
                            if (lt.getBoundingBox(lt.tilePosition.Value).Contains((int)location.X * 64, (int)location.Y * 64))
                            {
                                if (lt.performToolAction(null, radius, location, this))
                                {
                                    largeTerrainFeatures.Remove(lt);
                                }
                                return(true);
                            }
                            return(false);
                        });
                        if (this.terrainFeatures.ContainsKey(location) &&
                            (this.terrainFeatures[location] is Flower ||
                             this.terrainFeatures[location] is EasterEgg))
                        {
                            this.terrainFeatures.Remove(location);
                        }
                    }
                }
            }
        }
 private void _GrabItemFromChest(Item item, Farmer who)
 {
     if (!who.couldInventoryAcceptThisItem(item))
     {
         return;
     }
     Items.Remove(item);
     ClearNulls();
 }
Beispiel #5
0
 public virtual void grabItemFromChest(Item item, Farmer who)
 {
     if (who.couldInventoryAcceptThisItem(item))
     {
         items.Remove(item);
         clearNulls();
         Game1.activeClickableMenu = new ItemGrabMenu(items, reverseGrab: false, showReceivingMenu: true, InventoryMenu.highlightAllItems, grabItemFromInventory, null, grabItemFromChest, snapToBottom: false, canBeExitedWithKey: true, playRightClickSound: true, allowRightClick: true, showOrganizeButton: true, 1, this, -1, this);
     }
 }
Beispiel #6
0
 public static void ReduceItemCount(NetObjectList <Item> chest, Item item)
 {
     if (Config.FunChanges.InfiniteJunimoInventory)
     {
         return;
     }
     item.Stack--;
     if (item.Stack == 0)
     {
         chest.Remove(item);
     }
 }