public bool AddQuantity(IItemDescriptor descriptor, int quantity)
        {
            List<IItemStack> stacks = this.Get(descriptor);
            if (stacks.Count == 0)
                return false;

            // Always add to first stack when using this shortcut method.
            // The 'CanAdd' requirement will be checked by AddQuantity, no need to double-call it.
            return stacks[0].AddQuantity(quantity);
        }
 public Consumable(IItemDescriptor descriptor)
     : base(descriptor)
 {
 }
 public bool Has(IItemDescriptor descriptor)
 {
     foreach (IStorage storage in _storages)
     {
         if (storage.Has(descriptor))
             return true;
     }
     return false;
 }
 public List<IItemStack> Get(IItemDescriptor descriptor)
 {
     return new List<IItemStack>();
 }
        public List<IItemStack> Get(IItemDescriptor descriptor)
        {
            List<IItemStack> stacks = new List<IItemStack>();

            foreach(IItemStack stack in this.Stacks)
            {
                if (stack.Descriptor == descriptor)
                    stacks.Add(stack);
            }
            return stacks;
        }
 public Storage(IItemDescriptor descriptor)
     : base(descriptor)
 {
     _stacks = new List<IItemStack>();
 }
 public bool Has(IItemDescriptor descriptor)
 {
     foreach(IItemStack stack in this.Stacks)
     {
         if (stack.Descriptor == descriptor)
             return true;
     }
     return false;
 }
Esempio n. 8
0
 public Item(IItemDescriptor descriptor, IItemStack stack)
     : this(descriptor)
 {
     _stack = stack;
 }
Esempio n. 9
0
 public Item(IItemDescriptor descriptor)
 {
     _descriptor = descriptor;
 }
 public ItemStack(IItemDescriptor descriptor, IStorage storage)
     : this(descriptor)
 {
     Storage = storage;
 }
 public ItemStack(IItemDescriptor descriptor)
 {
     _items = new List<IItem>();
     _descriptor = descriptor;
 }