Как отслеживать переменную в момент когда игра свернута?

здравствуйте, такая проблема, есть переменная А из который должны вычитаться переменная B (раз в минуту) в момент когда игра свернута, вычитание происходит при условии, что переменная А больше или равна B, а если 0, то прибавление останавливается, также есть переменная F и G, к F += G(раз минуту), но прибавление должно остановиться когда переменная А = 0.

Я сделал так, но значение А уходит в минус, а значение F прибавляется бесконечно:
public void OfflineTime()
    {
        TimeSpan TimeSpan;

        if (PlayerPrefs.HasKey("Session"))
        {
            TimeSpan = DateTime.Now - DateTime.Parse(PlayerPrefs.GetString("Session"));
            Debug.Log(string.Format("Вас не было {0} дней, {1} часов, {2} минут, {3} секунд", TimeSpan.Days, TimeSpan.Hours, TimeSpan.Minutes, TimeSpan.Seconds));

                if(А >= И)
                {
                    F += G * (int)TimeSpan.TotalMinutes;
                    А -= B * (int)TimeSpan.TotalMinutes;
                }

            }
        }
    }
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
AnanasikDev
@AnanasikDev
Инди разработчик игр
Для отслеживания времени вне игры лучше кэшировать время во время выхода из игры и вычитать его из времени запуска игры. Кэшировать надо в файл, чтобы значение хранилось, пока игра не запущена.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы