Подскажите как можно реализовать задачу:
Код:
public void CountSpin()
{
// attempts to do somethingpho
if (PREFS_START_GAME.Day == DateTime.Today.Day)
Debug.Log ("Даты равны");
else if (DateTime.Today.Day > PREFS_START_GAME.Day) { // Если заходил в игру
PREFS_COUNT_START_GAME++; // Количество входов в неделю
PlayerPrefs.SetInt ("CountStartGame", PREFS_COUNT_START_GAME);
PlayerPrefs.SetInt ("StartGame7Day", DateTime.Today.Day);
GameManager.Instance.SetProfileCountStartGame (PREFS_COUNT_START_GAME); // прогресс в достижениях
} else if ((DateTime.Today.Day - PREFS_START_GAME.Day) > 1) // Если игрок не заходил в игру
{
PlayerPrefs.SetInt ("CountStartGame", 0);
PlayerPrefs.SetInt ("StartGame7Day", DateTime.Today.Day);
}
}
public DateTime loadFromPlayerPrefs() // хз как записать день даты в PlayerPrefs с GetInt
{
return new DateTime(PlayerPrefs.GetInt("startGame7Day", PREFS_START_GAME.Day));
}
void Awake()
{
PlayerPrefs.SetInt ("StartGame7Day", DateTime.Today.Day);
loadFromPlayerPrefs ();
Debug.Log ("loadFromPlayerPrefs " + loadFromPlayerPrefs().Day);
PREFS_COUNT_START_GAME = PlayerPrefs.GetInt ("CountStartGame");
}
В PlayerPrefs вписывать сколько подряд дней заходил и текущий день.
При запуске получаем из PlayerPrefs последний учтённый день и количество учтённых дней.
PlayerPrefs, то сохраняем в PlayerPrefs текущий день, наращиваем количество учтённых дней на 1 и тоже сохраняем.PlayerPrefs текущий день, количество учтённых дней устанавливаем в 1 и тоже сохраняем.Естественно при таком варианте нет защиты от тех, кто перематывает время на устройстве.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей