Ejemplo n.º 1
0
        public LeaderboardEntry GetLeaderboard(LeaderboardIdentity leaderboardId)
        {
            // FIXME: Should we just magically have leaderboards by this point? -flibit
            if (!LeaderboardReader.Leaderboards.ContainsKey(leaderboardId.Key))
            {
                latestKey = leaderboardId.Key;
                SteamAPICall_t call = SteamUserStats.FindLeaderboard(leaderboardId.Key);
                if (call.m_SteamAPICall != 0)
                {
                    CallResult <LeaderboardFindResult_t> foundLeaderboard;
                    foundLeaderboard = new CallResult <LeaderboardFindResult_t>();
                    foundLeaderboard.Set(
                        call,
                        OnLeaderboardFound
                        );
                    while (GamerServicesDispatcher.UpdateAsync())
                    {
                        if (string.IsNullOrEmpty(latestKey))
                        {
                            break;
                        }
                    }
                }
            }

            // FIXME: Do these other parameters even matter? -flibit
            return(new LeaderboardEntry(
                       null,
                       0,
                       0,
                       LeaderboardReader.Leaderboards[leaderboardId.Key]
                       ));
        }
Ejemplo n.º 2
0
        public static LeaderboardReader Read(
            LeaderboardIdentity leaderboardId,
            IEnumerable <Gamer> gamers,
            Gamer pivotGamer,
            int pageSize
            )
        {
            IAsyncResult result = BeginRead(
                leaderboardId,
                gamers,
                pivotGamer,
                pageSize,
                null,
                null
                );

            while (!result.IsCompleted)
            {
                if (!GamerServicesDispatcher.UpdateAsync())
                {
                    // readAction.IsCompleted = true;
                }
            }
            return(EndRead(result));
        }
Ejemplo n.º 3
0
        public AchievementCollection GetAchievements()
        {
            IAsyncResult result = BeginGetAchievements(null, null);

            while (!result.IsCompleted)
            {
                if (!GamerServicesDispatcher.UpdateAsync())
                {
                    statReceiveAction.IsCompleted = true;
                }
            }
            return(EndGetAchievements(result));
        }
Ejemplo n.º 4
0
        public void PageUp()
        {
            IAsyncResult result = BeginPageUp(null, null);

            while (!result.IsCompleted)
            {
                if (!GamerServicesDispatcher.UpdateAsync())
                {
                    // readAction.IsCompleted = true;
                }
            }
            EndPageUp(result);
        }
Ejemplo n.º 5
0
        public static LeaderboardReader Read(
            LeaderboardIdentity leaderboardId,
            int pageStart,
            int pageSize
            )
        {
            IAsyncResult result = BeginRead(
                leaderboardId,
                pageStart,
                pageSize,
                null,
                null
                );

            while (!result.IsCompleted)
            {
                if (!GamerServicesDispatcher.UpdateAsync())
                {
                    readAction.IsCompleted = true;
                }
            }
            return(EndRead(result));
        }