Как сделать привязку к дате? unity3d

284
25 июня 2018, 14:10

Кратко опишу приложение: У нас прописано 3 дня, на каждый день даётся свой текст, который нужно выводить.

1 день: A

2 день: B

3 день: C

Нужно, что-бы программа определяла текущую дату на Android, после чего, каждые новые сутки выдавала новый текст (новые сутки должны начинаться с 00:00).

Как это можно реализовать?

Answer 1

Создай новый скрипт и вставь туда это

Проверь по каком поясу(вроде по Лондону) время

void Start () {
        Debug.Log ("Date : " +System.DateTime.UtcNow.ToString());
    }

добавь переменную DontDestroyOnLoad чтобы помнить день и все

Answer 2

В итоге, решил проблему примерно так:

Сначала создаём два DateTime:

System.DateTime StartTime = System.DateTime.Now; // Время на момент начала
System.DateTime CurrentTime = System.DateTime.Now; // Текущее время

Потом создаём метод, для сохранение времени старта:

void LoadStartTime()
{
    if (PlayerPrefs.GetInt("StartTimeYear") == 0)
    {
        PlayerPrefs.SetInt("StartTimeYear", StartTime.Year);
        PlayerPrefs.SetInt("StartTimeMonth", StartTime.Month);
        PlayerPrefs.SetInt("StartTimeDay", StartTime.Day);
    }
    StartTime = new DateTime(PlayerPrefs.GetInt("StartTimeYear"), PlayerPrefs.GetInt("StartTimeMonth"), PlayerPrefs.GetInt("StartTimeDay"));
}

После чего помещаем его в:

 private void Start()
{
 // PlayerPrefs.DeleteAll(); 
    LoadStartTime();
}

Далее я не нашёл другого выхода как просто считать какой это день:

int days;
void DaysStartToCurr()
{
    if (CurrentTime > StartTime && CurrentTime < StartTime.AddDays(1)) days = 1;
    if (CurrentTime > StartTime.AddDays(1)) days = 2;
    if (CurrentTime > StartTime.AddDays(2)) days = 3;
}

Ну а дальше, думаю понятно что делать, просто используем "days", для определения, какой код выводить.

READ ALSO
Monogame и сокеты

Monogame и сокеты

Делаю сетевую игру на 2 игроковКонструктор класса игры принимает несколько параметров, которые вводятся в аргументах командной строки, один...

215
Password textbox

Password textbox

Заранее прошу извинения если эта тема уже была кем-то затронута, но на просторах интернета ответ на свой вопрос я получить не смогВкратце...

243
SqlDependency.Start не работает в Unity?

SqlDependency.Start не работает в Unity?

Я создаю простое клиент-серверное приложение и застрял на взаимодействии с SQLЕсли я в "обычной" вижуал студии запускаю код:

268
Resources.LoadAll загружает из AppData/Local

Resources.LoadAll загружает из AppData/Local

ResourcesLoadAll грузит изображения из другой директории

233