public void UpdateItemInfos(int itemId) { //Check if we didnt clicked on an invalid button if (itemId >= 0 && itemId < _openingShop.ShopItems.Length) { //update price int itemPrice = _openingShop.ShopItems[itemId].ItemPrice; _priceText.text = "Price: " + itemPrice + "$"; //Update item Name _itemNameText.text = _openingShop.ShopItems[itemId].ItemName; //update buyButton text and interactable if (TEntity.Player.Money >= itemPrice) { _buyText.color = _buyTextAuthorizedColor; _buyButton.interactable = true; } else { _buyText.color = _buyTextForbiddenColor; _buyButton.interactable = false; } //Store the selected item in case we buy it _selectedItem = _openingShop.ShopItems[itemId]; //Finally, preview it on the player TEntity.Player.References.EntityBody.EquipItem(_openingShop.ShopItems[itemId]); } }
public void EquipItem(ClothesShopItem item) { if (item == null) { return; } int itemIndex = (int)item.ClothType; _equippedItems[itemIndex] = item; for (int i = 0; i < item.ItemModelParams.Length; i++) { int socketIndex = (int)item.ItemModelParams[i].Socket; _bodySockets[socketIndex].SpriteRenderer.sprite = item.ItemModelParams[i].Sprite; } //Check if we must hide hairs for (int i = 0; i < _equippedItems.Length; i++) { if (_equippedItems[i] == null) { continue; } if (_equippedItems[i].HideHairs == true) { _bodySockets[(int)TBodySocket.Hairs].SpriteRenderer.enabled = false; return; } } _bodySockets[(int)TBodySocket.Hairs].SpriteRenderer.enabled = true; }
public void BuyAndCloseShop() { if (_selectedItem != null && TEntity.Player.Money >= _selectedItem.ItemPrice) { ClothesShopItem itemToEquip = _selectedItem; TEntity.Player.AddMoney(-itemToEquip.ItemPrice); CloseShop(); TEntity.Player.References.EntityBody.EquipItem(itemToEquip); } else { CloseShop(); } }
private void ResetWindow() { //Selected Item _selectedItem = null; //Icons for (int i = 0; i < _itemSlots.Length; i++) { ((Image)_itemSlots[i].targetGraphic).sprite = null; _itemSlots[i].interactable = false; } //Buy Button _buyButton.interactable = false; //Buy Text _buyText.color = _buyTextNothingColor; //Price & ItemName texts _priceText.text = ""; _itemNameText.text = ""; }