/// <summary> /// Used to animate the bid going up and placing an bid in the bid queue /// </summary> /// <param name="eventData"></param> void IPointerClickHandler.OnPointerClick(PointerEventData eventData) { if (GameManager.instance.lumber >= lumberNeeded) { Sequence tweens = DOTween.Sequence(); foreach (Transform child in transform) { child.GetComponent <Image>().DOFade(0, 1); child.GetComponent <TMP_Text>().DOFade(0, 1); } GetComponent <Image>().DOFade(0, 1).OnComplete(() => { bidManager.RemoveBidFromQueue(gameObject); money.ChangeMoneyAmount(priceToPay); lumber.UpdateLumberCount(-lumberNeeded); GameManager.instance.lumberInMarket += lumberNeeded; stats.UpdateStats(StatsManager.stat.lumberInMarket); GameManager.instance.totalNumberOfSales++; stats.UpdateStats(StatsManager.stat.totalNumberOfSales); demand.UpdateDemand(); }); tweens.Play(); } }
// Update is called once per frame void Update() { timeSinceLastMarketUse -= Time.deltaTime; if (timeSinceLastMarketUse <= 0f && GameManager.instance.lumberInMarket > 0) { GameManager.instance.lumberInMarket -= marketLumberUse; stats.UpdateStats(StatsManager.stat.lumberInMarket); demand.UpdateDemand(); timeSinceLastMarketUse = timeBetweenMarketLumberUse; } timeSinceLastBuilding -= Time.deltaTime; if (timeSinceLastBuilding <= 0f && GameManager.instance.lumberInMarket > 200) { buildingManager.BuildFromMarket(); timeSinceLastBuilding = timeBetweenBuildingBuilds; } }
public void UpdateDemand(InternalMarket market) { demand.UpdateDemand(market, this); }