Помогите с отсчётом реального времени

Программирование на Юнити.

Помогите с отсчётом реального времени

Сообщение Kagero 20 авг 2016, 17:50

Как сделать чтобы через 72 часа после первого запуска игры присваивался бонус
Kagero
UNец
 
Сообщения: 6
Зарегистрирован: 15 май 2016, 11:25

Re: Помогите с отсчётом реального времени

Сообщение Anonymyx 21 авг 2016, 21:10

Где-то в void Start() пишешь:
Синтаксис:
Используется csharp
 if(!PlayerPrefs.HasKey("DTime"))
            PlayerPrefs.SetString("DTime", DateTime.Now.ToString());
       

Где-то в Update пишешь:
Синтаксис:
Используется csharp
 TimeSpan dif = DateTime.Now.Subtract(DateTime.Parse(PlayerPrefs.GetString("DTime")));
  if (dif.Hours >= 72)
        {
        //Тут начисляешь бонус.
        }
           


Можешь сделать отдельный класс чтобы все это дело проверять. Можно сделать метод и вызывать его через InvokeRepeating в котором проверяется не прошло ли 72 часа (если не хочешь в Update делать).
Синтаксис:
Используется csharp
void Start ()
    {
        if(!PlayerPrefs.HasKey("DTime"))
            PlayerPrefs.SetString("DTime", DateTime.Now.ToString());

    }
       

        void Update ()
    {
        TimeSpan dif = DateTime.Now.Subtract(DateTime.Parse(PlayerPrefs.GetString("DTime")));

        if (dif.Hours >= 72)
        {
        //Начисляем бонус.
        }
     }

 

ЗЫ. Не забудьте про using System;
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5