예제 #1
0
    //Sell all function: invoke in BottomPanel
    public void SellAll()
    {
        double cashToAdd = 0;

        for (int i = 0; i < slots.Length; i++)
        {
            cashToAdd += slots[i].count * slots[i].valueCost;

            //count = 0
            slots[i].MinusCount(slots[i].count);

            //Update UI
            slots[i].countText.text = ShortScaleString.parseInt(slots[i].count);
        }

        Economy.AddCash(cashToAdd);

        //invoke callbacks
        checkColorsInRecipeTextDelegate(slots);
        checkButtonStatusDelegate(Economy.cash);
        checkTradeUIDelegate(slots);
        checkManagerUIDelegate(slots, Economy.cash);
        checkUpgreadeUIDelegate(slots, Economy.cash);
        checkSellAllButtonUIDelegate(slots);
    }
예제 #2
0
    //Trade Panel
    //Sell Button Function
    public void Sell_TradeButtonFunction(Slot slot)
    {
        double cashToAdd = slot.count * slot.valueCost;

        //count = 0
        slot.MinusCount(slot.count);

        //Update UI
        slot.countText.text = ShortScaleString.parseInt(slot.count);

        slot.tradeSlot.info_1           = slot.count + " x " + slot.valueCost;
        slot.tradeSlot.info_1_Text.text = slot.tradeSlot.info_1.ToString();

        slot.tradeSlot.info_2           = cashToAdd.ToString("F2");
        slot.tradeSlot.info_2_Text.text = slot.tradeSlot.info_2.ToString();

        Economy.AddCash(cashToAdd);

        //invoke callbacks
        checkColorsInRecipeTextDelegate(slots);
        checkButtonStatusDelegate(Economy.cash);
        checkTradeUIDelegate(slots);
        checkManagerUIDelegate(slots, Economy.cash);
        checkUpgreadeUIDelegate(slots, Economy.cash);
        checkSellAllButtonUIDelegate(slots);
    }
예제 #3
0
    //Set count text if is not set up
    private void SetCountText(Slot slot)
    {
        if (slot.countText == null)
        {
            slot.countText = slot.slotGO.transform.Find("Count").GetComponent <Text>();
        }

        //Update UI
        slot.countText.text = ShortScaleString.parseInt(slot.count);
    }
예제 #4
0
    //Async work slider function
    private IEnumerator SliderWork(Slot slot, float timerAsync)
    {
        slot.SliderIsActive = true;
        int currentSlotLevel = slot.slotLevel;

        slot.icon.GetComponent <Button>().interactable = false;

        float timer = timerAsync;

        slot.slider.maxValue = timerAsync;

        while (slot.slider.value < slot.slider.maxValue)
        {
            slot.slider.value  += 1 * Time.deltaTime;
            timer              -= 1 * Time.deltaTime;
            slot.timerText.text = timer.ToString("F1") + "s";
            yield return(null);
        }

        slot.slider.value = 0;

        //Set timer
        slot.timerText.text = timerAsync.ToString("F1") + "s";

        //GetCash(slot);
        slot.AddCount(1 * currentSlotLevel);

        slot.countText.text = ShortScaleString.parseInt(slot.count);

        slot.SliderIsActive = false;
        slot.icon.GetComponent <Button>().interactable = true;

        //invoke callbacks
        checkMissionDataDelegate(slot, MissionType.EntityCounter, (1 * currentSlotLevel));
        foreach (Mission mission in FindObjectOfType <GameManager>().missions)
        {
            if (mission.thisIsActiveMission == true)
            {
                FindObjectOfType <UI>().UpdateUIMissionPanel(mission);
                break;
            }
        }
        checkColorsInRecipeTextDelegate(slots);
        checkButtonStatusDelegate(Economy.cash);
        checkTradeUIDelegate(slots);
        checkSellAllButtonUIDelegate(slots);

        //if manager is active in this slot
        if (slot.managerSlot.isActive == true)
        {
            StartEntityProduction_ButtonFunction(slot);
        }
    }