【问题标题】:How to wait for PlayerPrefs.SetString to be saved on disk?如何等待 PlayerPrefs.SetString 保存在磁盘上?
【发布时间】:2018-11-01 22:11:42
【问题描述】:

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

    // 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() 被多次调用?

【问题讨论】:

  • 避免两次问同一个问题。您所要做的就是将您的代码添加到您的旧问题中。无需重复。
  • 由于问题和问题有点不同,我想我分开问这个。
  • 他们是同一个问题。我认为你应该删除一个。

标签: unity3d coroutine


【解决方案1】:
if (PlayerPrefs.HasKey("USERNAME")) {
    // dont't register user again
}

【讨论】:

  • 虽然此代码可以回答问题,但提供有关 如何为什么 解决问题的附加上下文将提高​​答案的长期价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2021-06-16
  • 2019-04-12
  • 2023-03-13
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多