如何等待PlayerPrefs.SetString保存在磁盘上?

时间:2018-11-01 22:11:43

标签: unity3d coroutine

在我最近发布的手机游戏中,我实现了在线排行榜。一些用户在注册过程中遇到了问题。简而言之,注册是这样编码的:

    // 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 :(得分:0)

if (PlayerPrefs.HasKey("USERNAME")) {
    // dont't register user again
}