Esempio n. 1
0
        public Leaderboard GetLeaderboard(string name, LeaderboardSortMethod sortMethod = LeaderboardSortMethod.None, LeaderboardDisplayType displayType = LeaderboardDisplayType.None)
        {
            var board = new Leaderboard(this);

            native.userstats.FindOrCreateLeaderboard(name, (SteamNative.LeaderboardSortMethod)sortMethod, (SteamNative.LeaderboardDisplayType)displayType, board.OnBoardCreated);
            return(board);
        }
Esempio n. 2
0
        // SteamAPICall_t
        public CallbackHandle FindOrCreateLeaderboard(string pchLeaderboardName /*const char **/, LeaderboardSortMethod eLeaderboardSortMethod /*ELeaderboardSortMethod*/, LeaderboardDisplayType eLeaderboardDisplayType /*ELeaderboardDisplayType*/, Action <LeaderboardFindResult_t, bool> CallbackFunction = null /*Action<LeaderboardFindResult_t, bool>*/)
        {
            SteamAPICall_t callback = 0;

            callback = platform.ISteamUserStats_FindOrCreateLeaderboard(pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType);

            if (CallbackFunction == null)
            {
                return(null);
            }
            if (callback == 0)
            {
                return(null);
            }

            return(LeaderboardFindResult_t.CallResult(steamworks, callback, CallbackFunction));
        }
Esempio n. 3
0
 /// <summary>
 /// Invokes LeaderboardFindResult.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="sortMethod"></param>
 /// <param name="displayType"></param>
 public void FindOrCreateLeaderboard(string name, LeaderboardSortMethod sortMethod, LeaderboardDisplayType displayType)
 {
     CheckIfUsable();
     NativeMethods.Stats_FindOrCreateLeaderboard(name, (int)sortMethod, (int)displayType);
 }
 /// <summary>
 /// Invokes LeaderboardFindResult.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="sortMethod"></param>
 /// <param name="displayType"></param>
 public void FindOrCreateLeaderboard(string name, LeaderboardSortMethod sortMethod, LeaderboardDisplayType displayType)
 {
     CheckIfUsable();
     NativeMethods.Stats_FindOrCreateLeaderboard(name, (int)sortMethod, (int)displayType);
 }
        void TestStats()
        {
            IStats stats = null;

            LeaderboardHandle        lHandle  = default(LeaderboardHandle);
            LeaderboardEntriesHandle leHandle = default(LeaderboardEntriesHandle);
            LeaderboardEntry         entry    = default(LeaderboardEntry);

            LeaderboardSortMethod        sort    = LeaderboardSortMethod.None;
            LeaderboardDisplayType       display = LeaderboardDisplayType.None;
            LeaderboardDataRequest       request = LeaderboardDataRequest.Friends;
            LeaderboardUploadScoreMethod score   = LeaderboardUploadScoreMethod.None;

            switch (sort)
            {
            case LeaderboardSortMethod.None:
                break;

            case LeaderboardSortMethod.Ascending:
                break;

            case LeaderboardSortMethod.Descending:
                break;

            default:
                break;
            }
            switch (display)
            {
            case LeaderboardDisplayType.None:
                break;

            case LeaderboardDisplayType.Numeric:
                break;

            case LeaderboardDisplayType.TimeSeconds:
                break;

            case LeaderboardDisplayType.TimeMilliSeconds:
                break;

            default:
                break;
            }
            switch (request)
            {
            case LeaderboardDataRequest.Global:
                break;

            case LeaderboardDataRequest.GlobalAroundUser:
                break;

            case LeaderboardDataRequest.Friends:
                break;

            case LeaderboardDataRequest.Users:
                break;

            default:
                break;
            }
            switch (score)
            {
            case LeaderboardUploadScoreMethod.None:
                break;

            case LeaderboardUploadScoreMethod.KeepBest:
                break;

            case LeaderboardUploadScoreMethod.ForceUpdate:
                break;

            default:
                break;
            }

            stats.UserStatsReceived                 += (UserStatsReceived x) => { };
            stats.UserStatsStored                   += (UserStatsStored x) => { };
            stats.UserAchievementStored             += (UserAchievementStored x) => { };
            stats.LeaderboardFindResult             += (LeaderboardFindResult x, bool y) => { };
            stats.LeaderboardScoresDownloaded       += (LeaderboardScoresDownloaded x, bool y) => { };
            stats.LeaderboardScoreUploaded          += (LeaderboardScoreUploaded x, bool y) => { };
            stats.LeaderboardUGCSet                 += (LeaderboardUGCSet x, bool y) => { };
            stats.NumberOfCurrentPlayers            += (NumberOfCurrentPlayers x, bool y) => { };
            stats.UserStatsUnloaded                 += (UserStatsUnloaded x) => { };
            stats.UserAchievementIconFetched        += (UserAchievementIconFetched x) => { };
            stats.GlobalAchievementPercentagesReady += (GlobalAchievementPercentagesReady x, bool y) => { };
            stats.GlobalStatsReceived               += (GlobalStatsReceived x, bool y) => { };

            b = stats.RequestCurrentStats();
            b = stats.GetStat(s, out i);
            b = stats.GetStat(s, out f);
            b = stats.SetStat(s, i);
            b = stats.SetStat(s, f);
            b = stats.UpdateAverageRateStat(s, f, d);
            b = stats.GetAchievement(s, out b);
            b = stats.SetAchievement(s);
            b = stats.ClearAchievement(s);
            b = stats.GetAchievementAndUnlockTime(s, out b, out ui);
            b = stats.StoreStats();
            s = stats.GetAchievementDisplayAttribute(s, s);
            b = stats.IndicateAchievementProgress(s, ui, ui);
            stats.RequestUserStats(steamID);
            b = stats.GetUserStat(steamID, s, out i);
            b = stats.GetUserStat(steamID, s, out f);
            b = stats.GetUserAchievement(steamID, s, out b);
            b = stats.GetUserAchievementAndUnlockTime(steamID, s, out b, out ui);
            b = stats.ResetAllStats(b);
            stats.FindOrCreateLeaderboard(s, sort, display);
            stats.FindLeaderboard(s);
            s       = stats.GetLeaderboardName(lHandle);
            i       = stats.GetLeaderboardEntryCount(lHandle);
            sort    = stats.GetLeaderboardSortMethod(lHandle);
            display = stats.GetLeaderboardDisplayType(lHandle);
            stats.DownloadLeaderboardEntries(lHandle, request, i, i);
            stats.DownloadLeaderboardEntriesForUsers(lHandle, sia);
            b = stats.GetDownloadedLeaderboardEntry(leHandle, i, out entry, ia);
            stats.UploadLeaderboardScore(lHandle, score, i, ia);
            stats.AttachLeaderboardUGC(lHandle, ugcHandle);
            stats.GetNumberOfCurrentPlayers();
            stats.RequestGlobalAchievementPercentages();
            i = stats.GetMostAchievedAchievementInfo(out s, out f, out b);
            i = stats.GetNextMostAchievedAchievementInfo(i, out s, out f, out b);
            b = stats.GetAchievementAchievedPercent(s, out f);
            stats.RequestGlobalStats(i);
            b = stats.GetGlobalStat(s, out l);
            b = stats.GetGlobalStat(s, out d);
            i = stats.GetGlobalStatHistory(s, out la, i);
            i = stats.GetGlobalStatHistory(s, out da, i);
        }