//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); }
//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); }
//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); }
//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); } }