// Leaderboard
        internal static int DownloadLeaderboardScores(StatusCallback callback, string pchLeaderboardName, ELeaderboardDataRequest nDataRequest, ELeaderboardDataTimeRange nTimeRange, int nRangeStart, int nRangeEnd)
        {
            int nRequestValue = (int)nDataRequest;
            int nTimeValue    = (int)nTimeRange;

            return(Android.GetJavaUserStats().CallStatic <int>("getLeaderboard", Android.CurrentContext, new AndroidPluginCallback(callback), pchLeaderboardName, nRangeStart, nRangeEnd, nTimeValue, nRequestValue));
        }
        internal static Leaderboard GetLeaderboardScore(int nIndex)
        {
            Leaderboard pLeaderboardEntry = new Leaderboard();

            pLeaderboardEntry.UserName = Android.GetJavaUserStats().CallStatic <string>("getLeaderboardNameData", nIndex);
            pLeaderboardEntry.Rank     = Android.GetJavaUserStats().CallStatic <int>("getLeaderboardRankData", nIndex);
            pLeaderboardEntry.Score    = Android.GetJavaUserStats().CallStatic <int>("getLeaderboardScoreData", nIndex);
            return(pLeaderboardEntry);
        }
 internal static int SetStat(string pchName, float fData)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("setStats", pchName, fData));
 }
 internal static int UploadStats(StatusCallback callback)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("uploadStats", Android.CurrentContext, new AndroidPluginCallback(callback)));
 }
 internal static int IsReady(StatusCallback callback)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("isReady", Android.CurrentContext, new AndroidPluginCallback(callback)));
 }
 internal static ELeaderboardDisplayType GetLeaderboardDisplayType()
 {
     return((ELeaderboardDisplayType)Android.GetJavaUserStats().CallStatic <int>("getLeaderboardDisplayType"));
 }
 internal static ELeaderboardSortMethod GetLeaderboardSortMethod()
 {
     return((ELeaderboardSortMethod)Android.GetJavaUserStats().CallStatic <int>("getLeaderboardSortType"));
 }
 internal static int GetLeaderboardScoreCount()
 {
     return(Android.GetJavaUserStats().CallStatic <int>("getLeaderboardScoreCount"));
 }
 internal static int UploadLeaderboardScore(StatusCallback callback, string pchLeaderboardName, int nScores)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("setLeaderboard", Android.CurrentContext, new AndroidPluginCallback(callback), pchLeaderboardName, nScores));
 }
 internal static string GetAchievementIcon(string pchName)
 {
     return(Android.GetJavaUserStats().CallStatic <string>("getAchievementIcon", pchName));
 }
 internal static string GetAchievementDisplayAttribute(string pchName, EAchievementDisplayAttribute attr, ELocale locale)
 {
     return(Android.GetJavaUserStats().CallStatic <string>("getAchievementDisplayAttribute", pchName, (int)attr, (int)locale));
 }
 internal static int ClearAchievement(string pchName)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("clearAchievement", pchName));
 }
 internal static int GetAchievementUnlockTime(string pchName)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("getAchievementUnlockTime", pchName));
 }
 internal static bool GetAchievement(string pchName)
 {
     return(Android.GetJavaUserStats().CallStatic <bool>("getAchievement", pchName));
 }
 internal static int GetStat(string pchName, int nData)
 {
     return(Android.GetJavaUserStats().CallStatic <int>("getStats", pchName, nData));
 }