Как ждать, пока PlayerPrefs.SetString будет сохранен на диске? - PullRequest
0 голосов
/ 02 ноября 2018

В моей недавно опубликованной мобильной игре я реализовал онлайн-таблицу лидеров. У некоторых пользователей возникли проблемы с процессом регистрации. Коротко говоря, регистрация закодирована так:

    // coroutine
    DownloadLeaderBoard () {
        if (string.IsNullOrEmpty (PlayerPrefs.GetString ("USERNAME"))) {
            RegisterUser();
            yield break;
        }
        // Download and display Leaderboard
    }

    // coroutine
    RegisterUser () {
        // user has entered a valid username
        PlayerPrefs.SetString("USERNAME" username);
        DownloadLeaderboard();
    }

Итак, после того как я сохранил имя пользователя, я должен убедиться, что оно находится на диске до . Я снова вызываю DownloadLeaderboard ()! Как я могу добиться этого и предотвратить, чтобы RegisterUser () вызывался несколько раз?

1 Ответ

0 голосов
/ 04 ноября 2018
if (PlayerPrefs.HasKey("USERNAME")) {
    // dont't register user again
}
...