Unity 游戏中的成就

本主题介绍如何在 Unity 游戏中使用 Play 游戏服务成就。假定您已按照入门指南中的说明设置了项目和适用于 Unity 的 Google Play 游戏插件。

创建成就

设置项目和插件后,在 Google Play 管理中心创建成就,然后使用成就的 Android 资源更新插件。有关在 Play 管理中心创建成就的详细信息,请参阅成就指南

显示并解锁成就

要解锁成就,请使用 **Social.ReportProgress** 方法,其进度值为 100.0f

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // unlock achievement (achievement ID "Cfjewijawiu_QA")
    Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
      // handle success or failure
    });

根据Social.ReportProgress的预期行为,值为 0.0f 表示成就已显示,进度为 100.0f 表示成就已解锁。

要显示以前隐藏的成就而不解锁它,请使用值为 0.0f 的 **Social.ReportProgress** 调用。

递增成就

如果成就可递增,则 **Social.ReportProgress** 的 Play 游戏实现将尝试遵守 Unity 社交 API 的预期行为。不过,行为可能并不完全相同,因此我们建议您不要将 **Social.ReportProgress** 用于递增成就。相反,请使用 **PlayGamesPlatform.IncrementAchievement** 方法,它是 Play 游戏扩展。

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
    PlayGamesPlatform.Instance.IncrementAchievement(
        "Cfjewijawiu_QA", 5, (bool success) => {
            // handle success or failure
    });

显示成就 UI

要显示所有成就的内置 UI,请调用 **Social.ShowAchievementsUI**。

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // show achievements UI
    Social.ShowAchievementsUI();