public void Purchase(BaseItemShopSlot baseItemShopSlot) { if (_inventoryContainer.CanStore()) { if (_characterStatusController.CurrentMoney >= baseItemShopSlot.ITEMSHOP.ItemPrice) { int index = baseItemShopSlot.ITEMSHOP.ItemSetIdIndex; _storeContoller.StoreDic[_storeId].Purchase(index); bool isEmpty = baseItemShopSlot.Purchase(); if (!isEmpty) { OnPurchaseOutStock?.Invoke(); } _characterStatusController.TakeMoney(baseItemShopSlot.ITEMSHOP.ItemPrice); GetItem(baseItemShopSlot); _totalItem--; CheckInvIsEmpty(); } else { _notificationController.MoneyNotEnough(baseItemShopSlot); } } else { _notificationController.InventoryFull(); } }
private void Unequip(BaseItemSlot itemSlot) { ItemPickUp copy_item_pickup = itemSlot.ITEM; // copy item if (inv_container.CanStore() && equip_container.RemoveItem(itemSlot.INDEX)) { inv_container.StoreItem(copy_item_pickup); copy_item_pickup.Unequip(); } }
private void ReceiveItem(BaseItemSlot itemSlot) { ItemPickUp copy_item_pickup = itemSlot.ITEM; if (inv_container.CanStore()) { if (storage_container.RemoveItem(itemSlot.INDEX)) { inv_container.StoreItem(copy_item_pickup); } } }
private void StoreItem(BaseItemSlot itemSlot) { ItemPickUp copy_item_pickup = itemSlot.ITEM; if (_inv_container.CanStore()) { if (_stach_container.RemoveItem(itemSlot.INDEX)) { _inv_container.StoreItem(copy_item_pickup); } } }