Beispiel #1
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);
        }
    }