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; }
public Item(IItemDescriptor descriptor, IItemStack stack) : this(descriptor) { _stack = stack; }
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; }