public static void GetSongInfo() { var mainGameSceneSetupData = Resources.FindObjectsOfTypeAll <MainGameSceneSetupData>().First(); var playerLevelStatsData = PersistentSingleton <GameDataModel> .instance.gameDynamicData.GetCurrentPlayerDynamicData().GetPlayerLevelStatsData(mainGameSceneSetupData.difficultyLevel.level.levelID, mainGameSceneSetupData.difficultyLevel.difficulty, mainGameSceneSetupData.gameplayMode); //Get notes count noteCount = mainGameSceneSetupData.difficultyLevel.beatmapData.notesCount; //Get Player Score localHighScore = playerLevelStatsData.validScore ? playerLevelStatsData.highScore : 0; //If we couldn't grab a local score, we'll try to grab one from the leaderboards if (localHighScore == 0) { string leaderboardID = LeaderboardsModel.GetLeaderboardID(mainGameSceneSetupData.difficultyLevel, mainGameSceneSetupData.gameplayMode); if (_asyncRequest != null) { _asyncRequest.Cancel(); } _asyncRequest = new HMAsyncRequest(); //Note: I'm leaving "around" as 10 intentionally so that this "looks" like a normal score request //Don't judge. Old habits die hard. PersistentSingleton <PlatformLeaderboardsModel> .instance.GetScoresAroundPlayer(leaderboardID, 10, _asyncRequest, LeaderboardsResultsReturned); } CalculatePercentage(); }
public override void GetPlayerId(HMAsyncRequest asyncRequest, LeaderboardsModel.GetPlayerIdCompletionHandler completionHandler) { Request <User> oculusRequest = Users.GetLoggedInUser().OnComplete(delegate(Message <User> message) { if (!this.CheckMessageForValidRequest(message)) { return; } if (message.IsError) { if (completionHandler != null) { completionHandler(LeaderboardsModel.GetPlayerIdResult.Failed, null); } } else { string playerId = message.Data.ID.ToString(); string playerName = message.Data.OculusID; Global.playerId = playerId; Global.playerName = playerName; if (completionHandler != null) { completionHandler(LeaderboardsModel.GetPlayerIdResult.OK, playerId); } } }); this.AddOculusRequest(oculusRequest, asyncRequest); }
public override void UploadScore(string leaderboadId, int score, HMAsyncRequest asyncRequest, LeaderboardsModel.UploadScoreCompletionHandler completionHandler) { try { if (leaderboadId.Contains("∎")) { string text = "lb_" + leaderboadId; this.PrepareCustomScore(text, score); if (completionHandler != null) { completionHandler(LeaderboardsModel.UploadScoreResult.OK); } return; } else { base.UploadScore(leaderboadId, score, asyncRequest, completionHandler); } } catch (Exception ex) { Log(ex.ToString()); } }
public override void UploadScore(string leaderboadId, int score, HMAsyncRequest asyncRequest, LeaderboardsModel.UploadScoreCompletionHandler completionHandler) { try { if (leaderboadId.Contains("∎")) { string text = "lb_" + leaderboadId; this.PrepareCustomScore(text, score); if (completionHandler != null) { completionHandler(LeaderboardsModel.UploadScoreResult.OK); } return; } else { CallNonStaticFunctionDynamically("OculusPlatformLeaderboardsHandler", "Assembly-CSharp", "UploadScore", new Type[] { typeof(string), typeof(int), typeof(HMAsyncRequest), typeof(LeaderboardsModel.UploadScoreCompletionHandler) }, new object[] { leaderboadId, score, asyncRequest, completionHandler }); } } catch (Exception ex) { Global.Log(ex.ToString()); } }
public override void UploadScore(string leaderboadId, int score, HMAsyncRequest asyncRequest, PlatformLeaderboardsModel.UploadScoreCompletionHandler completionHandler) { try { if (leaderboadId.Contains("∎")) { string text = "lb_" + leaderboadId; this.PrepareCustomScore(text, score, completionHandler); return; } else { base.UploadScore(leaderboadId, score, asyncRequest, completionHandler); } } catch (Exception ex) { FailScoreCompletionHandler(completionHandler); FailLog(ex); } }
public override void UploadScore(string leaderboadId, int score, HMAsyncRequest asyncRequest, PlatformLeaderboardsModel.UploadScoreCompletionHandler completionHandler) { try { if (leaderboadId.Contains("∎")) { string text = "lb_" + leaderboadId; this.PrepareCustomScore(text, score, completionHandler); return; } else { base.UploadScore(leaderboadId, score, asyncRequest, completionHandler); //CallNonStaticFunctionDynamically("OculusPlatformLeaderboardsHandler", "Assembly-CSharp", "UploadScore", // new Type[] { typeof(string), typeof(int), typeof(HMAsyncRequest), typeof(PlatformLeaderboardsModel.UploadScoreCompletionHandler) }, // new object[] { leaderboadId, score, asyncRequest, completionHandler }); } } catch (Exception ex) { FailLog(ex); FailScoreCompletionHandler(completionHandler); } }
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(PlatformLeaderboardsModel.GetScoresCompletionHandler handler, HMAsyncRequest request) { if (request != null) { if (handler != null) { handler(PlatformLeaderboardsModel.GetScoresResult.Failed, new PlatformLeaderboardsModel.LeaderboardScore[0], 0); } } }
private void OkCompletionHandler(PlatformLeaderboardsModel.GetScoresCompletionHandler handler, PlatformLeaderboardsModel.LeaderboardScore[] leaders, int playerScoreIndex, HMAsyncRequest request) { if (request != null) { if (handler != null) { handler(PlatformLeaderboardsModel.GetScoresResult.OK, leaders.ToArray(), playerScoreIndex); } } }
private void OnGetScore(byte[] data, PlatformLeaderboardsModel.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 <PlatformLeaderboardsModel.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 override void GetScores(string leaderboadId, int count, int fromRank, PlatformLeaderboardsModel.ScoresScope scope, string referencePlayerId, HMAsyncRequest asyncRequest, PlatformLeaderboardsModel.GetScoresCompletionHandler completionHandler) { if (leaderboadId.Contains("∎")) { leaderboadId = FormatLeaderBoard(leaderboadId); switch (scope) { case PlatformLeaderboardsModel.ScoresScope.AroundPlayer: GetCustomScoreBehaviour.GetScore("http://scoresaber.com/a0461a2eac6bb4d1ba0b0e976e9740ac.php?id=" + leaderboadId + "&steamId=" + Global.playerId, completionHandler, leaderboadId, asyncRequest, OnGetScore); break; case PlatformLeaderboardsModel.ScoresScope.Global: GetCustomScoreBehaviour.GetScore("http://scoresaber.com/a0461a2eac6bb4d1ba0b0e976e9740ac.php?id=" + leaderboadId, completionHandler, leaderboadId, asyncRequest, OnGetScore); break; } } else { base.GetScores(leaderboadId, count, fromRank, scope, referencePlayerId, asyncRequest, completionHandler); //CallNonStaticFunctionDynamically("OculusPlatformLeaderboardsHandler", "Assembly-CSharp", "GetScores", // new Type[] { typeof(string), typeof(int), typeof(int), typeof(PlatformLeaderboardsModel.ScoresScope), // typeof(string), typeof(HMAsyncRequest), typeof(PlatformLeaderboardsModel.GetScoresCompletionHandler) }, // new object[] { 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) { 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()); } } }
public override void GetPlayerId(HMAsyncRequest asyncRequest, LeaderboardsModel.GetPlayerIdCompletionHandler completionHandler) { CallNonStaticFunctionDynamically("OculusPlatformLeaderboardsHandler", "Assembly-CSharp", "GetPlayerId", new Type[] { typeof(HMAsyncRequest), typeof(LeaderboardsModel.GetScoresCompletionHandler) }, new object[] { asyncRequest, completionHandler }); }