Пример #1
0
    public void BuyItem()
    {
        PlayerScript player = BattleSys.instance.players[BattleSys.instance.currentTurn];

        if (player.gold >= spotlightItem.goldCost && player.inventory.Count < PlayerScript.inventorySpace)
        {
            player.gold -= spotlightItem.goldCost;
            player.AddItem(spotlightItem);
        }
        else
        {
            Debug.Log("Unable to buy");
        }
    }
Пример #2
0
    private void Update()
    {
        bool active = false;

        for (int i = 0; i < items.Count; i++)
        {
            if (helper.getDistance(player.transform.position, itemObjs[i].transform.position) < Constants.TRADER_ITEMUI_ACTIVE_DISTANCE)
            {
                active = true;
                itemUI.SetUIData(items[i]);
                itemUI.ShowUI(true);

                bool canBuy = playerScript.HasGold(items[i].cost);

                itemUI.SetCostCanBuy(canBuy);

                if (Input.GetKeyDown(KeyCode.E) && canBuy)
                {
                    if (items[i].modifier != null)
                    {
                        playerScript.AddModifier(items[i]);
                    }
                    else if (items[i].item != null)
                    {
                        playerScript.AddItem(items[i].item);
                    }
                    playerScript.AddGold(-items[i].cost);
                    Destroy(itemObjs[i]);
                    itemObjs.RemoveAt(i);
                    items.RemoveAt(i);
                }
            }
        }
        if (!active)
        {
            itemUI.ShowUI(false);
        }
    }