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();
        }
    }
示例#2
0
    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();
        }
    }
示例#3
0
    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();
    }