public virtual bool CanMoveItem(IItemSlot <ItemModel> targetSlot) { return(targetSlot.StoredItem != null ? TypeMatch(targetSlot.StoredItem) && targetSlot.TypeMatch(StoredItem) : targetSlot.CanHoldItem(StoredItem)); }