Exemple #1
0
    /// <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();
        }
    }
Exemple #2
0
    // 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;
        }
    }
Exemple #3
0
 public void UpdateDemand(InternalMarket market)
 {
     demand.UpdateDemand(market, this);
 }