הישגים במשחקי Unity

בנושא הזה מוסבר איך להשתמש בהישגים של Play Games Services במשחקי Unity. ההנחה היא שהגדרתם את הפרויקט ואת הפלאגין של Google Play Games ל-Unity, כמו שמוסבר במדריך לתחילת העבודה.

יצירת הישג

כשמגדירים את הפרויקט ואת הפלאגין, יוצרים את ההישגים ב-Google Play Console ואז מעדכנים את הפלאגין במשאבי Android של ההישגים. פרטים על יצירת הישגים ב-Play Console זמינים במדריך בנושא הישגים.

חשיפה וביטול נעילה של הישג

כדי לפתוח הישג, משתמשים בשיטה 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 מציין שההישג נפתח.

כדי לחשוף הישג שהיה מוסתר קודם לכן בלי לפתוח אותו, צריך לבצע קריאה ל-Social.ReportProgress עם ערך של 0.0f.

הגדלת הישג

אם ההישג הוא מצטבר, ההטמעה של Social.ReportProgress ב-Play Games תנסה לפעול בהתאם להתנהגות הצפויה לפי Social API של Unity. עם זאת, יכול להיות שההתנהגות לא תהיה זהה, ולכן לא מומלץ להשתמש ב-Social.ReportProgress להישגים מצטברים. במקום זאת, צריך להשתמש בשיטה PlayGamesPlatform.IncrementAchievement, שהיא תוסף של Play Games.

    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
    });

הצגת ממשק המשתמש של ההישגים

כדי להציג את ממשק המשתמש המובנה לכל ההישגים, קוראים ל-Social.ShowAchievementsUI.

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