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=" + SteamUser.GetSteamID().m_SteamID.ToString(), completionHandler, leaderboadId, asyncRequest, OnGetScore);
                    break;

                case PlatformLeaderboardsModel.ScoresScope.Global:
                    GetCustomScoreBehaviour.GetScore("http://scoresaber.com/a0461a2eac6bb4d1ba0b0e976e9740ac.php?id=" + leaderboadId, completionHandler, leaderboadId, asyncRequest, OnGetScore);
                    break;

                case PlatformLeaderboardsModel.ScoresScope.Friends:
                    GetCustomScoreBehaviour.GetScore("http://scoresaber.com/a0461a2eac6bb4d1ba0b0e976e9740ac.php?id=" + leaderboadId + "&friends=" + GetFriends(), 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, 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)
        {
            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 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));
        }