示例#1
0
    void Update()
    {
        // отсчитываем секунды
        secondsLeftText.text = (timeSecondsLeft - (Mathf.Round(Time.time) - timeDifference)).ToString();

        // проверяем остаток ходов
        if (stepsLeft < 1)
        {
            lockSettings.EnableLose();
        }

        // в случае обнудения секунд
        if ((timeSecondsLeft - (Mathf.Round(Time.time) - timeDifference)) == 0)
        {
            //вычитаем минуту, добавляем 60 секунд, выводим данные и в timeDifference записываем
            //время прошедшее с момента начала игры, тем самым "обнуляя" Time.time
            if (timeMinuteLeft > 0)
            {
                timeMinuteLeft--;
                minutesLeftText.text = timeMinuteLeft.ToString();
                timeSecondsLeft      = 60;
                secondsLeftText.text = timeSecondsLeft.ToString();
                timeDifference       = Mathf.RoundToInt(Time.time);
            }

            // если минут и секунд не осталось - проигрыш
            if (timeMinuteLeft == 0 && (timeSecondsLeft - (Mathf.Round(Time.time) - timeDifference)) == 0)
            {
                lockSettings.EnableLose();
            }
        }
    }