Пример #1
0
    public void ValueChangedCallback()
    {
        curCapacity = 0;
        curCost     = 0;
        canSendShip = true;
        for (int i = 0; i < itemSelectors.Length; i++)
        {
            curCapacity += itemSelectors[i].amount * itemSelectors[i].myItem.weight;
            if (isBuy)
            {
                curCost += itemSelectors[i].amount * itemSelectors[i].myItem.buyCost;
            }
            else
            {
                curCost += itemSelectors[i].amount * itemSelectors[i].myItem.sellCost;
                if (false)
                {
                    itemSelectors[i].SetAvailabilityInInventory(false);
                    canSendShip = false;
                }
                else
                {
                    itemSelectors[i].SetAvailabilityInInventory(true);
                }
            }
        }

        shipCountText.text    = "Available Ships:\n" + Player_CommsController.s.availableShipCount.ToString() + "/" + 3.ToString();
        shipCapacityText.text = "Capacity:\n" + curCapacity.ToString() + "/" + carryCapacity.ToString() + " kg";
        shipCostText.text     = "Cost:\n" + GUI_CommsController.FormatMoney(curCost);

        if (curCapacity <= carryCapacity)
        {
            shipCapacityText.color = normalColor;
        }
        else
        {
            shipCapacityText.color = unavailableColor;
            canSendShip            = false;
        }

        if (isBuy)
        {
            if (curCost <= Player_CommsController.s.money)
            {
                shipCostText.color = moneyColor;
            }
            else
            {
                shipCostText.color = unavailableColor;
                canSendShip        = false;
            }
        }
        else
        {
            shipCostText.color = moneyColor;
        }
    }
Пример #2
0
    void UpdateAmountText(bool isCallback)
    {
        itemCurrentAmount.text = amount.ToString();
        itemCurrentWeight.text = (amount * myItem.weight).ToString() + "kg";
        if (isBuy)
        {
            itemCurrentCost.text = GUI_CommsController.FormatMoney(myItem.buyCost * amount);
        }
        else
        {
            itemCurrentCost.text = GUI_CommsController.FormatMoney(myItem.sellCost * amount);
        }

        if (isCallback)
        {
            master.ValueChangedCallback();
        }
    }
Пример #3
0
    public void SetUp(GUI_CommsController controller, Item[] items, Item person, bool _isBuy, int shipCount)
    {
        MyController  = controller;
        isBuy         = _isBuy;
        itemSelectors = new MiniGUI_ItemSelectionBox[items.Length + 1];

        for (int i = 0; i < items.Length; i++)
        {
            itemSelectors[i] = Instantiate(ItemSelectionBoxPrefab, ItemSelectionParent).GetComponent <MiniGUI_ItemSelectionBox>();
            itemSelectors[i].SetUp(items[i], isBuy, this);
        }


        itemSelectors[itemSelectors.Length - 1] = Instantiate(ItemSelectionBoxPrefab, ItemSelectionParent).GetComponent <MiniGUI_ItemSelectionBox>();
        itemSelectors[itemSelectors.Length - 1].SetUp(person, isBuy, this);

        shipCountText.text = "Available Ships: " + shipCount.ToString();

        ValueChangedCallback();
    }
Пример #4
0
    public void SetUp(Item item, bool _isBuy, MiniGUI_BuySellMenu _master)
    {
        myItem        = item;
        isBuy         = _isBuy;
        master        = _master;
        icon.sprite   = myItem.GetSprite();
        itemName.text = myItem.name;

        if (isBuy)
        {
            itemCost.text = GUI_CommsController.FormatMoney(myItem.buyCost);
        }
        else
        {
            itemCost.text = GUI_CommsController.FormatMoney(myItem.sellCost);
        }

        itemWeight.text = myItem.weight.ToString() + " kg";

        SetAvailabilityInInventory(true);
        UpdateAmountText(false);
    }