Количество входов в игру в течении недели

230
30 октября 2018, 22:20

Подскажите как можно реализовать задачу:

  • если игрок в течении 7 дней заходил в игру, то ...

Код:

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");
}
Answer 1

В PlayerPrefs вписывать сколько подряд дней заходил и текущий день.

  1. При запуске получаем из PlayerPrefs последний учтённый день и количество учтённых дней.

    1. Сравниваем с текущим днём. Если они равны, ничего не делаем.
    2. Если текущий день на 1 больше того, что получен из PlayerPrefs, то сохраняем в PlayerPrefs текущий день, наращиваем количество учтённых дней на 1 и тоже сохраняем.
    3. Если разница больше 1, значит игрок несколько дней не заходил. Сохраняем в PlayerPrefs текущий день, количество учтённых дней устанавливаем в 1 и тоже сохраняем.
  2. Если после всех манипуляций количество учтённых дней стало 7, то...

Естественно при таком варианте нет защиты от тех, кто перематывает время на устройстве.

READ ALSO
Выходит из цикла for в с#

Выходит из цикла for в с#

При компиляции цикл не выполняется так как задуманоПодскажите где опечатка или недочёт

168
Выполнить 3d-трансформацию картинки

Выполнить 3d-трансформацию картинки

Есть картинка с экрана и картинка с камерыВо второй некая область сделана прозрачной

251
Ошибка при запуске Kafka (kafka_2.11-2.0.0) на этапе запуска zookeper

Ошибка при запуске Kafka (kafka_2.11-2.0.0) на этапе запуска zookeper

Хочу запустить apache kafka на Win7(На компе с Win10 все прошло гладко)

184
Как передать дополнительную model во Modal view в Asp.net Core 2.0?

Как передать дополнительную model во Modal view в Asp.net Core 2.0?

Подскажите, как можно передать дополнительную model во Modal view

166