コード例 #1
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
            }

            else
            {
                item.Quantity -= quantity;

                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #2
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                // The item is not in the player's inventory, so ignore it.
                // We might want to raise an error for this situation
            }
            else
            {
                // They have the item in their inventory, so decrease the quantity
                item.Quantity -= quantity;

                // Don't allow negative quantities.
                // We might want to raise an error for this situation
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                // If the quantity is zero, remove the item from the list
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                // Notify the UI that the inventory has changed
                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #3
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                // The item is not in the player's inventory, so ignore it.
                // We might want to raise an error for this situation
            }
            else
            {
                item.Quantity -= quantity;

                // Don't allow negative quantities.
                // We might want to raise an error for this situation
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #4
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                //Might want to raise an error here, currently ignore if player doesn't have item
            }
            else
            {
                item.Quantity -= quantity;

                //Might want to raise error for attempted negative inventory
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                //Remove item from list if quantity 0
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                //Notify UI
                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #5
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                //No item in players inventory - Possible error raised?!
            }
            else
            {
                item.Quantity -= quantity;

                //Don't allow negative quantities - Possible error raised?!
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #6
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                //TODO: тук трябва да се изведе грешка, че избраният предмет не е в Inventory (нито potion, нито weapon)
            }
            else
            {
                // Предметът се съдържа в Inventory, намали Quantity с избрано quantity
                item.Quantity -= quantity;

                // Не трябва да имаме отрицателно количество
                if (item.Quantity < 0)
                {
                    //TODO: тук отново трябва да се изведе грешка
                    item.Quantity = 0;
                }

                // А ако количеството е 0, трябва да се премахне дадения предмет от "слота"
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                // Извикай функцията, която ще изпрати notification да се обнови екрана за промяна в Inventory (Weapons или Potions)
                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #7
0
ファイル: Player.cs プロジェクト: IAmTurbanMan/adventureGame
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                //item is not in inventory so ignore
                //maybe raise error here
            }
            else
            {
                //item is in inventory, decrease quantity
                item.Quantity -= quantity;

                //no negative quantities
                //maybe raise error here
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                //if quantity is 0, remove from list
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                //notify UI inventory has changed
                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #8
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            Inventory item = Inventory.SingleOrDefault(ii => ii.Quantity == itemToRemove.ID);

            if (item == null)
            {
                // The item is not in the player's inventory, so ignore it.
                // We might want to raise an error for this situation
                //Console.WriteLine("Cannot drop an item you do not have.");
            }
            else
            {
                // They have the item in their inventory, so decrease the quantity
                item.Quantity -= quantity;

                // Don't allow negative quantities.
                // We might want to raise an error for this situation
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                // If the quantity is zero, remove the item from the list
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }
            }
        }
コード例 #9
0
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            InventoryItem item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                //Item not in the inventory
            }

            else
            {
                //You have the item in your inventory, so decrease the quantity
                item.Quantity -= quantity;

                //Don't allow the negative quantities
                if (item.Quantity < 0)
                {
                    item.Quantity = 0;
                }

                //If the quantity is zero, remove the item from the list
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }

                //Notify the UI that the inventory has changed
                RaiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #10
0
ファイル: Player.cs プロジェクト: nikolazki/RPGAdventurePlus
 public void RemoveItem(InventoryItem item, int quantity)
 {
     item.Quantity -= quantity;
     if (item.Quantity <= 0)
     {
         Inventory.Remove(item);
         CallInventoryChangedEvent(item.Details);
     }
 }
コード例 #11
0
        public void RemoveItemFromInventory(_items itemToRemove, int quantity = 1)
        {
            Inventory item = Inventory.SingleOrDefault(ii => ii.Details.ID == itemToRemove.ID);

            if (item != null)
            {
                item.Quantity -= quantity;
                if (item.Quantity == 0)
                {
                    Inventory.Remove(item);
                }
                raiseInventoryChangedEvent(itemToRemove);
            }
        }
コード例 #12
0
ファイル: Player.cs プロジェクト: takuyakanbr/simple-rpg
        public void RemoveItemFromInventory(int itemID, int quantity = 1)
        {
            InventoryItem invItem = Inventory.SingleOrDefault(ii => ii.ID == itemID);

            if (invItem != null)
            {
                invItem.Quantity -= quantity;

                if (invItem.Quantity <= 0)
                {
                    Inventory.Remove(invItem);
                }

                RaiseInventoryChangedEvent(invItem.Data);
            }
        }
コード例 #13
0
ファイル: Player.cs プロジェクト: JenniferE55/SuperAdventure
 public bool RemoveItemFromInventory(Item itemToRemove)
 //the bool returns success. True means it worked, false means it failed.
 {
     foreach (InventoryItem ii in Inventory)
     {
         if (ii.Details == itemToRemove & ii.Quantity > 0)
         {
             ii.Quantity -= 1;
             if (ii.Quantity == 0)
             {
                 Inventory.Remove(ii);
             }
             return(true);
         }
     }
     return(false);
 }
コード例 #14
0
ファイル: Player.cs プロジェクト: PortoRAF/SuperAdventure
        public void RemoveQuestCompletionItems(Quest quest)
        {
            List <int> markItemForDeletion = new List <int>();

            foreach (QuestCompletionItem questItem in quest.QuestCompletionItems)  // (int i = 0; i < quest.QuestCompletionItems.Count; i++)
            {
                InventoryItem item = Inventory.SingleOrDefault(a => a.Details.ID == questItem.Details.ID);

                if (item != null)
                {
                    item.Quantity -= questItem.Quantity;

                    if (item.Quantity == 0)
                    {
                        Inventory.Remove(item);
                    }
                }
            }
        }
コード例 #15
0
ファイル: Player.cs プロジェクト: JenniferE55/SuperAdventure
 public void RemoveQuestCompletionItems(Quest quest)
 {
     foreach (QuestCompletionItem qci in quest.QuestCompletionItems)
     {
         foreach (InventoryItem ii in Inventory)
         {
             if (ii.Details.ID == qci.Details.ID)
             {
                 // Subtract the quantity from the player's inventory that was needed to complete the quest
                 ii.Quantity -= qci.Quantity;
                 if (ii.Quantity == 0)
                 {
                     Inventory.Remove(ii);
                 }
                 break;
             }
         }
     }
 }
コード例 #16
0
ファイル: Player.cs プロジェクト: Coding-Alex/NewRPG
        public void RemoveItemFromInventory(Item item)
        {
            Inventory.Remove(item);
            InventoryItem inventoryItemToRemove = GroupedInventory.FirstOrDefault(gi => gi.GameItem == item);

            if (inventoryItemToRemove != null)
            {
                if (inventoryItemToRemove.Quantity == 1)
                {
                    GroupedInventory.Remove(inventoryItemToRemove);
                }
                else
                {
                    inventoryItemToRemove.Quantity--;
                }
            }
            OnPropertyChanged(nameof(Weapons));
            OnPropertyChanged(nameof(Armors));
            OnPropertyChanged(nameof(Gloves));
            OnPropertyChanged(nameof(Boots));
        }
コード例 #17
0
 private InventoryItem RemoveItemFromInventory(Item details, int quantity)
 {
     if (details == null)
     {
         return(null);
     }
     foreach (InventoryItem inventoryItem in Inventory)
     {
         if (details.ID == inventoryItem.Details.ID)
         {
             int           removeQuantity = (quantity < inventoryItem.Quantity) ? quantity : inventoryItem.Quantity;
             InventoryItem removeItems    = new InventoryItem(details, removeQuantity);
             inventoryItem.Quantity -= removeQuantity;
             if (inventoryItem.Quantity <= 0)
             {
                 Inventory.Remove(inventoryItem);
             }
             return(removeItems);
         }
     }
     return(null);
 }
コード例 #18
0
ファイル: Player.cs プロジェクト: PortoRAF/SuperAdventure
        public void RemoveItemFromInventory(Item itemToRemove, int quantity = 1)
        {
            if (quantity <= 0)
            {
                return;
            }

            InventoryItem item = Inventory.SingleOrDefault(a => a.Details.ID == itemToRemove.ID);

            if (item == null)
            {
                return;
            }
            else
            {
                item.Quantity -= quantity;

                if (item.Quantity <= 0)
                {
                    Inventory.Remove(item);
                }
            }
        }