【发布时间】:2014-07-29 00:54:01
【问题描述】:
我正在为我的 android 游戏实现 google play sdk,到目前为止,我已经完成了登录和排行榜部分,但添加成就给我带来了一些麻烦,因为我使用 public bool 方法让我的生活更轻松,以便将来更新并标记成就解锁。
由于某种原因,我收到此错误:
无法隐式转换类型bool' tovoid'
public bool unlockAchievement(string achievementName, string achievementID) {
if(loggedIn == true) {
Social.ReportProgress(achievementID, 100.0f, (bool success) => {
return success;
});
}
else return false;
}
我想我涵盖了任何松散的结局,但我得到了这个错误。
感谢任何帮助。 谢谢。
编辑:
看起来像这样工作
public bool unlockAchievement(string achievementName, string achievementID) {
bool actionDone = false;
if(loggedIn == true) {
Social.ReportProgress(achievementID, 100.0f, (bool success) => {
if(success) actionDone = true;
else actionDone = false;
});
return actionDone;
}
else return actionDone;
}
谢谢
【问题讨论】:
-
请注意,您编辑中的解决方案仅在传递给 Social.ReportProgress 的回调同步运行时才有效。如果在 ReportProgress 返回之前没有立即调用该方法,则 actionDone 将保持为 false,并且当回调确实被调用时,什么都不会发生。
-
是的,我正在考虑,我必须做一些测试,看看结果如何。
标签: c# android unity3d google-play-games