public void SelectItem() { ItemListEntry itemEntry = shopList.GetEntry(); if (!itemEntry || !itemEntry.affordable) { return; } if (!promptMode) { promptMode = true; buyPrompt.ShowYesNoPopup((shopList.buyMode) ? "Buy item?" : "Sell item?", true); } else { if (buyPrompt.Click(true) == MyPrompt.Result.OK1) { if (shopList.buyMode) // Buy item { totalMoney.value -= itemEntry.tuple.cost; playerData.items.Add(itemEntry.tuple.StoreData()); } else // Sell item { totalMoney.value += (int)(itemEntry.tuple.cost * sellRatio.value); playerData.items.RemoveAt(itemEntry.index); shopList.RemoveEntry(); } } shopList.UpdateCost(); SetupItemInfo(); DeselectItem(); } }
private void ShowItemInfo() { PrepCharacterEntry entry = charList.GetEntry(); InventoryTuple tuple = null; if (currentMode == State.STORE) { tuple = itemList.GetEntry().tuple; } else if (convoy.GetEntry()) { tuple = convoy.GetEntry().tuple; } if (!entry || tuple == null || string.IsNullOrEmpty(tuple.uuid)) { itemName.text = ""; itemIcon.sprite = null; pwrText.text = "Pwr: "; rangeText.text = "Range: "; hitText.text = "Hit: "; critText.text = "Crit: "; reqText.text = "Req: "; return; } itemName.text = tuple.entryName; itemIcon.sprite = tuple.icon; pwrText.text = "Pwr: " + tuple.power.ToString(); rangeText.text = "Range: " + tuple.range.ToString(); hitText.text = "Hit: " + tuple.hitRate.ToString(); critText.text = "Crit: " + tuple.critRate.ToString(); reqText.text = "Req: " + tuple.skillReq.ToString(); if (currentMode == State.TAKE) { ShowCharInfoTake(); } }
private void TakeItem() { ItemListEntry item = convoy.GetEntry(); if (!item) { return; } Debug.Log("Take item"); InventoryContainer invCon = characters.GetEntry().invCon; if (!invCon.AddItem(playerData.items[item.index])) { restockPrompt.ShowOkPopup("Inventory is full!"); promptMode = true; return; } convoy.RemoveEntry(); playerData.items.RemoveAt(item.index); ShowCharInfo(); }