chicken_dy/Assets/Scripts/ToukaGames/AnalyticsScripts/OtherScripts/GameCenter/LeaderBoards.cs

79 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections;
using System.Collections.Generic;
using Touka.GameLogic;
using UnityEngine;
using UnityEngine.SocialPlatforms;
/// <summary>
/// Game Center 排行榜类
///
/// 1. 初始化 init;StaticOtherConfig 里LeaderBoard_Switch开关打开自动调用
/// 2. 上报分数 ReportScore;分数排行榜ID
/// 3. 显示排行榜 ShowLeaderboard;
/// </summary>
public class LeaderBoards : ToukaSingletonMonoBehaviour<LeaderBoards>
{
//public string leaderBoardId = "BossFightScore";
/// <summary>
/// 初始化
/// </summary>
public void init()
{
AuthenticateToGameCenter();
}
/// <summary>
/// 登录Game Center
/// </summary>
private bool isAuthenticatedToGameCenter;
public void AuthenticateToGameCenter()
{
#if UNITY_IPHONE && !UNITY_EDITOR
Social.localUser.Authenticate(success =>
{
if (success)
{
Debug.Log("[LeaderBoards] Authentication successful");
}
else
{
Debug.Log("[LeaderBoards] Authentication failed");
}
});
#endif
}
/// <summary>
/// 上报分数到Game Center
/// </summary>
/// <param name="score"> 分数 </param>
/// <param name="leaderboardID"> 排行榜ID Appstore后台创建的</param>
public void ReportScore(long score, string leaderboardID)
{
#if UNITY_IPHONE && !UNITY_EDITOR
Debug.Log("Reporting score " + score + " on leaderboard " + leaderboardID);
Social.ReportScore(score, leaderboardID, success =>
{
if (success)
{
Debug.Log("[LeaderBoards] Reported score successfully");
}
else
{
Debug.Log("[LeaderBoards] Failed to report score");
}
});
#endif
}
/// <summary>
/// 展示排行榜
/// </summary>
public void ShowLeaderboard()
{
#if UNITY_IPHONE && !UNITY_EDITOR
Social.ShowLeaderboardUI();
#endif
}
}