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

79 lines
2.0 KiB
C#
Raw Normal View History

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