示例#1
0
        public void AddItemToInventory(Gameitem item)
        {
            Inventory.Add(item);
            if (item.IsUnique)
            {
                GroupedInventory.Add(new GroupedInventory(item, 1));
            }
            else
            {
                if (!GroupedInventory.Any(gi => gi.Item.TypeID == item.TypeID))
                {
                    GroupedInventory.Add(new GroupedInventory(item, 0));
                }

                GroupedInventory.First(gi => gi.Item.TypeID == item.TypeID).Quantity++;
            }
        }
示例#2
0
        public void RemoveItemFromInventory(Gameitem item)
        {
            Inventory.Remove(item);

            GroupedInventory itemToRemove =
                GroupedInventory.FirstOrDefault(gi => gi.Item == item);

            if (itemToRemove != null)
            {
                if (itemToRemove.Quantity == 1)
                {
                    GroupedInventory.Remove(itemToRemove);
                }
                else
                {
                    itemToRemove.Quantity--;
                }
            }
        }
示例#3
0
        public static Gameitem CreateGameItem(int id)
        {
            Gameitem standardItem = _gameitems.FirstOrDefault(item => item.TypeID == id);

            if (standardItem != null)
            {
                if (standardItem is Weapon)
                {
                    return((standardItem as Weapon).Clone());
                }
                else if (standardItem is Armor)
                {
                    return((standardItem as Armor).Clone());
                }

                return(standardItem.Clone());
            }

            return(null);
        }