public SlottedInventory(int capacity, IItemSlotFactory itemSlotFactory) { Capacity = capacity; ItemSlotFactory = itemSlotFactory; Slots = new List <IItemSlot> (capacity); for (int i = 0; i < capacity; i++) { Slots[i] = ItemSlotFactory.Build(); } }
public SlottedInventory(int capacity, IItemSlotFactory itemSlotFactory, IInventory parent = null) { Capacity = capacity; ItemSlotFactory = itemSlotFactory ?? throw new ArgumentNullException(nameof(itemSlotFactory)); Parent = parent; slots = new List <IItemSlot>(capacity); for (int i = 0; i < capacity; i++) { var slot = ItemSlotFactory.Build(parent); slots.Add(slot); } }