Exemple #1
0
        private void PickupItem(Player player, DroppedItem droppedItem)
        {
            // Check the Distance Player <> Item
            double dist = player.GetDistanceTo(droppedItem);

            if (dist > 3)
            {
                return;
            }

            // Check Inv Space
            int slot = player.Inventory.CheckInvSpace(droppedItem.Item);

            if (slot < 12)
            {
                return;
            }

            var success = droppedItem.TryPickUpBy(player);

            if (success)
            {
                player.PlayerView.InventoryView.ItemAppear(droppedItem.Item);
            }

            // todo: "Obtained message" ?? guess not
        }
Exemple #2
0
        private bool TryPickupItem(Player player, DroppedItem droppedItem, out Item?stackTarget)
        {
            stackTarget = null;
            if (!this.CanPickup(player, droppedItem))
            {
                return(false);
            }

            var slot = player.Inventory?.CheckInvSpace(droppedItem.Item);

            if (slot < InventoryConstants.EquippableSlotsCount)
            {
                return(false);
            }

            return(droppedItem.TryPickUpBy(player, out stackTarget));
        }
Exemple #3
0
        private bool TryPickupItem(Player player, DroppedItem droppedItem, out Item stackTarget)
        {
            stackTarget = null;
            if (!player.Alive)
            {
                return(false);
            }

            double dist = player.GetDistanceTo(droppedItem);

            if (dist > 3)
            {
                return(false);
            }

            int slot = player.Inventory.CheckInvSpace(droppedItem.Item);

            if (slot < InventoryConstants.EquippableSlotsCount)
            {
                return(false);
            }

            return(droppedItem.TryPickUpBy(player, out stackTarget));
        }