我对Google Play Services排行榜有一个问题,我已经被卡住好几天了。
我正在使用Unity游戏插件.
我正在尝试获取特定级别的用户等级。因此,我通过LoadScores函数加载Scores,这似乎很好。
问题似乎是,我在“LoadScores”函数中得到了正确的排名,但总体上获取用户等级
无论实际的Userrank是什么,函数仍然返回rank=0。
我的猜测是,这毕竟是一个时间问题,排名是在LoadScores函数计算出要返回的正确排名之前返回的。
public int GetUserRank(字符串级别ID){int秩=0;string user=游戏平台。实例.localUser.id;字符串排行榜=ReturnLeaderboard(levelID);社交。LoadScores(排行榜,分数=>{if(分数.Length>0){调试。日志(“检索”+分数。长度+“分数”);//使用用户名筛选分数for(int i=0;i<scores.Length;i++){if(用户==分数[i].userID){秩=分数[i].秩;//这会打印出用户的实际排名,似乎很有效打印(“LoadScoresFunction:”+排名);断裂;}}}其他的调试。日志(“检索分数失败”);});//这里的排名总是0,无论上面LoadScores函数的结果如何打印(“PlayGamesController中的排名:”+排名);回报等级;}
我通过以下方式从其他脚本引用此函数:
int rank=游戏控制器。实例。获取用户等级(levelID);
非常感谢您的任何想法/提示。
谢谢!