@MishkaVNorky

Время сервера UTC и работа с ним в Unity?

Всем привет.
Может кто сталкивался. Для мобильной игры нужно получить время с сервера и крутить уже его в Update.
Ко времени будут привязываться игровые события, время будет сохраняться в файле.

Так же используют PlayFab и Unity IAP.

Вопросы:
1. Как лучше сделать?
2. С какого сервера брали время? Кроме своего
3. И главное, я с сервера получаю время в UTC форме, как грамотно его увеличивать дальше в Unity? А при след заходе так же синхронизирую его.
  • Вопрос задан
  • 554 просмотра
Решения вопроса 1
shai_hulud
@shai_hulud
1) Не использовать реальное время, использовать относительное время от какой либо точки: для мультиплеера время создания проекта, для синглы время создания аккаунта. Все временные процессы в относительном времени, можно будет гарантировать, что относительное время всегда растёт и не будет рассинхронов по времени.
2) Лучше брать со своего.
3) прибавлять Time.deltaTime каждый Update и только положительные значения.

Бонусы относительного времени в том, что когда игрок заходит можно корректировать рассинхрон времени:
а) игрок опережал сервер на 5 секунд, зашел через день после оффлайн, прибавляем ему = 1д. - 5 сек.
а) игрок отставал на 1 минуту, зашел через 5 секунд после оффлайна, прибавляем ему = 1мин. + 5сек.

ну и никаких проблем с сериализацией, хранением, часовыми поясами итд. относительное время может быть простым числом (тиков) или TimeSpan.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы