private void OnGetScore(byte[] data, LeaderboardsModel.GetScoresCompletionHandler completionHandler, string leaderboadID, HMAsyncRequest asyncRequest) { string scoreData = System.Text.Encoding.UTF8.GetString(data); bool cancelRequest = false; if (asyncRequest != null) { asyncRequest.CancelHandler = delegate(HMAsyncRequest request) { cancelRequest = true; }; } int playerScoreIndex = -1; List <LeaderboardsModel.LeaderboardScore> leaders = PassLeaderBoardInfo(scoreData, ref playerScoreIndex); if (leaders.Count > 0) { if (cancelRequest == false) { OkCompletionHandler(completionHandler, leaders.ToArray(), playerScoreIndex, asyncRequest); } else { FailCompletionHandler(completionHandler, asyncRequest); } } else { FailCompletionHandler(completionHandler, asyncRequest); } }
public IEnumerator GetScoreRoutine(string url, LeaderboardsModel.GetScoresCompletionHandler completionHandler, string leaderboadID, HMAsyncRequest asyncRequestd, Action <byte[], LeaderboardsModel.GetScoresCompletionHandler, string, HMAsyncRequest> callback) { using (var www = new WWW(url)) { yield return(www); callback.Invoke(www.bytes, completionHandler, leaderboadID, asyncRequestd); } }
public static void GetScore(string url, LeaderboardsModel.GetScoresCompletionHandler completionHandler, string leaderboadID, HMAsyncRequest asyncRequestd, Action <byte[], LeaderboardsModel.GetScoresCompletionHandler, string, HMAsyncRequest> callback) { if (_instance == null) { _instance = new GameObject("temp").AddComponent <GetCustomScoreBehaviour>(); } _instance.StartCoroutine(_instance.GetScoreRoutine(url, completionHandler, leaderboadID, asyncRequestd, callback)); }
private void FailCompletionHandler(LeaderboardsModel.GetScoresCompletionHandler handler, HMAsyncRequest request) { if (request != null) { if (handler != null) { handler(LeaderboardsModel.GetScoresResult.Failed, new LeaderboardsModel.LeaderboardScore[0], 0); } } }
private void OkCompletionHandler(LeaderboardsModel.GetScoresCompletionHandler handler, LeaderboardsModel.LeaderboardScore[] leaders, int playerScoreIndex, HMAsyncRequest request) { if (request != null) { if (handler != null) { handler(LeaderboardsModel.GetScoresResult.OK, leaders.ToArray(), playerScoreIndex); } } }
public override void GetScores(string leaderboadId, int count, int fromRank, LeaderboardsModel.ScoresScope scope, string referencePlayerId, HMAsyncRequest asyncRequest, LeaderboardsModel.GetScoresCompletionHandler completionHandler) { if (leaderboadId.Contains("∎")) { leaderboadId = FormatLeaderBoard(leaderboadId); switch (scope) { case LeaderboardsModel.ScoresScope.AroundPlayer: GetCustomScoreBehaviour.GetScore("http://scoresaber.com/getscores.php?id=" + leaderboadId + "&steamId=" + SteamUser.GetSteamID().m_SteamID.ToString(), completionHandler, leaderboadId, asyncRequest, OnGetScore); break; case LeaderboardsModel.ScoresScope.Global: GetCustomScoreBehaviour.GetScore("http://scoresaber.com/getscores.php?id=" + leaderboadId, completionHandler, leaderboadId, asyncRequest, OnGetScore); break; } } else { base.GetScores(leaderboadId, count, fromRank, scope, referencePlayerId, asyncRequest, completionHandler); } }
public override void GetScores(string leaderboadId, int count, int fromRank, LeaderboardsModel.ScoresScope scope, string referencePlayerId, HMAsyncRequest asyncRequest, LeaderboardsModel.GetScoresCompletionHandler completionHandler) { var leaderBoardsModel = PersistentSingleton <LeaderboardsModel> .instance; if (leaderboadId.Contains("∎")) { leaderboadId = FormatLeaderBoard(leaderboadId); switch (scope) { case LeaderboardsModel.ScoresScope.AroundPlayer: GetCustomScoreBehaviour.GetScore("http://scoresaber.com/getscores.php?id=" + leaderboadId + "&steamId=" + Global.playerId, completionHandler, leaderboadId, asyncRequest, OnGetScore); break; case LeaderboardsModel.ScoresScope.Global: GetCustomScoreBehaviour.GetScore("http://scoresaber.com/getscores.php?id=" + leaderboadId, completionHandler, leaderboadId, asyncRequest, OnGetScore); break; } } else { try { CallNonStaticFunctionDynamically("OculusPlatformLeaderboardsHandler", "Assembly-CSharp", "GetScores", new Type[] { typeof(string), typeof(int), typeof(int), typeof(LeaderboardsModel.ScoresScope), typeof(string), typeof(HMAsyncRequest), typeof(LeaderboardsModel.GetScoresCompletionHandler) }, new object[] { leaderboadId, count, fromRank, scope, referencePlayerId, asyncRequest, completionHandler }); } catch (Exception ex) { Global.Log(ex.ToString()); } } }