예제 #1
0
    void TimeFlow()
    {
        if (isStopTime)
        {
            return;
        }

        //0.Guage Time
        time -= Time.deltaTime;

        //1.Guage Over Event
        if (time <= 0f)
        {
            guage--;

            //#2. Day Change Event
            if (guage < 1)
            {
                guage = 3;
                day++;
                alreadyAlert = false;//알람 초기화

                goodsSystem.goodsDesignBonusCnt += 1;

                int Bang = Random.Range(0, 1000);
                if (Bang <= 2)
                {
                    money += (int)(skillManager.skillList[8]._functionDesc[skillManager.skillList[8]._level] * 35000000);
                }
                money += (int)skillManager.skillList[10]._functionDesc[skillManager.skillList[10]._level];
                //Important Event 발생
            }
            //게이지마다 t자원 증가 스킬
            money += (int)(viwer * donationPrice * skillManager.skillList[13]._functionDesc[skillManager.skillList[13]._level]);

            //#.Auto Making by staffs- StaffMPS Time
            for (int i = 0; i < 4; i++)
            {
                goods += (int)(staffManager.staffCnt[0, i] * staffManager.staffMPS[0, i] * skillManager.skillList[6]._functionDesc[skillManager.skillList[6]._level]);
                goodsSystem.goodsDesignBonusCnt += (int)(staffManager.staffCnt[1, i] * staffManager.staffMPS[1, i] * skillManager.skillList[6]._functionDesc[skillManager.skillList[6]._level]);
                gameManager.maxCapacity         += (int)(staffManager.staffCnt[1, i] * staffManager.staffMPS[1, i] * skillManager.skillList[6]._functionDesc[skillManager.skillList[6]._level]);
                staffCapacity += (int)((staffManager.staffCnt[1, i] * staffManager.staffMPS[0, i] * skillManager.skillList[6]._functionDesc[skillManager.skillList[6]._level]) / 10);
                viwer         += (int)(staffManager.staffCnt[2, i] * staffManager.staffMPS[2, i] * (skillManager.skillList[14]._functionDesc[skillManager.skillList[14]._level] + skillManager.skillList[19]._functionDesc[skillManager.skillList[19]._level]));
            }

            //#.샤샤스킬.게이지마다 시청자수 증가
            viwer += (int)skillManager.skillList[7]._functionDesc[skillManager.skillList[7]._level];


            //#.Goods Price, Donation Price Change
            int changeGoodsPrice    = Random.Range(-5, 6);
            int changeDonationPrice = Random.Range(-5, 6);
            goodsSystem.goodsPrice += goodsSystem.goodsPrice * changeGoodsPrice / 100;
            donationPrice          += donationPrice * changeDonationPrice / 100;

            money -= (int)(totalstaffCost); // each month -> staff cost pay


            //#스태프용량, 기본용량, 디자인 수 등 증가부분
            staffCapacity++;
            maxCapacity += 5;

            time = finalTime;
        }

        //#. 밀감이 스킬. 최소 가격 선정
        if (donationPrice < (int)skillManager.skillList[11]._functionDesc[skillManager.skillList[11]._level])
        {
            donationPrice = (int)skillManager.skillList[11]._functionDesc[skillManager.skillList[11]._level];
        }
        if (goodsSystem.goodsPrice < (int)skillManager.skillList[11]._functionDesc[skillManager.skillList[11]._level])
        {
            goodsSystem.goodsPrice = (int)skillManager.skillList[11]._functionDesc[skillManager.skillList[11]._level];
        }


        //Check Event
        if (day < 20)
        {
            if (eventManager.CheckEvent(day)) //이건 날마다 있는 이벤트. 튜토리얼 이벤트는 UI돌아가야함.
            {
                uiManager.EventUpdate(eventManager.curEvent);
                isStopTime = true;
                isStopUI   = true;
            }
        }

        //Before Main Story. Show Alert Set
        if (day % 5 == 4 && !alreadyAlert & !alertDay && !isStopTime)
        {
            alreadyAlert = true;
            alertDay     = true;
            uiManager.AlertPanelMove();
            soundManager.BeforeMainDayNoise();
            Invoke("BeforeMainDayPanelOff", 4f);
        }

        //Check Main Story
        if (!mainStoryManager.isColletStoryStart && day == 5)
        {
            if (stockManager.mainStock.GetComponent <StockItem>().myStock == stockManager.mainStock.GetComponent <StockItem>().totalStock)
            {
                uiManager.ColletStoryStart();
                mainStoryManager.isColletStoryStart = true;
                stockManager.MainStockChange("밀감 컴퍼니", 10000, 200, 1);//200만원
            }
            else
            {
                StartCoroutine(Ending(false));
            }
        }
        if (!mainStoryManager.isTamX2StoryStart && day == 10)
        {
            if (stockManager.mainStock.GetComponent <StockItem>().myStock == stockManager.mainStock.GetComponent <StockItem>().totalStock)
            {
                uiManager.TamX2StoryStart();
                mainStoryManager.isTamX2StoryStart = true;
                stockManager.MainStockChange("우주대스타 컴퍼니", 20000, 300, 2);//600만원
            }
            else
            {
                StartCoroutine(Ending(false));
            }
        }
        if (!mainStoryManager.isNanayangtoryStart && day == 15)
        {
            if (stockManager.mainStock.GetComponent <StockItem>().myStock == stockManager.mainStock.GetComponent <StockItem>().totalStock)
            {
                uiManager.NanayangStoryStart();
                mainStoryManager.isNanayangtoryStart = true;
                stockManager.MainStockChange("원두컴퍼니", 30000, 500, 3);//1500만원
            }
            else
            {
                StartCoroutine(Ending(false));
            }
        }
        if (day == 20)
        {
            if (stockManager.mainStock.GetComponent <StockItem>().myStock == stockManager.mainStock.GetComponent <StockItem>().totalStock)
            {
                isStopTime = true;
                isStopUI   = true;
                StartCoroutine(Ending(true));
            }
            else
            {
                StartCoroutine(Ending(false));
            }
        }

        goods = goods > maxCapacity ? maxCapacity : goods; // goods는 최대 goods 용량 못넘어감
        money = money > 1999999999 ? 1999999999 : money;   // 돈 최대 제한 19억9...
    }