public void GetLeaderboardDataForUser(ulong leaderboardId, CSteamID userId, ISteamLeaderboardEntriesCallBack callBack) { if (!SteamManager.Initialized) { return; } if (steamLeaderboard == null) { steamLeaderboard = new SteamLeaderboardImpl(); } steamLeaderboard.FindLeaderboardEntriesForUserList(leaderboardId, new CSteamID[] { userId }, callBack); }
/// <summary> /// 查询指定用户组所在的全球排名数据 /// </summary> /// <param name="leaderboardId"></param> /// <param name="userList"></param> /// <param name="callBack"></param> public void FindLeaderboardEntriesForUserList(ulong leaderboardId, CSteamID[] userList, ISteamLeaderboardEntriesCallBack callBack) { this.mEntriesCallBack = callBack; SteamLeaderboard_t tempBean = new SteamLeaderboard_t { m_SteamLeaderboard = leaderboardId }; CallResult <LeaderboardScoresDownloaded_t> callResult = CallResult <LeaderboardScoresDownloaded_t> .Create(OnLeaderboardScoresDownloadedForUserList); SteamAPICall_t handle = SteamUserStats.DownloadLeaderboardEntriesForUsers(tempBean, userList, userList.Length); //TODO 必须要延迟才能设置回调 //Thread.Sleep(1000); callResult.Set(handle); }
/// <summary> /// 查询排行榜数据-全球 /// </summary> /// <param name="leaderboardId"></param> /// <param name="startRange"></param> /// <param name="endRange"></param> /// <param name="type"></param> /// <param name="callBack"></param> public void FindLeaderboardEntries(ulong leaderboardId, int startRange, int endRange, ELeaderboardDataRequest type, ISteamLeaderboardEntriesCallBack callBack) { this.mEntriesCallBack = callBack; SteamLeaderboard_t tempBean = new SteamLeaderboard_t { m_SteamLeaderboard = leaderboardId }; CallResult <LeaderboardScoresDownloaded_t> callResult = CallResult <LeaderboardScoresDownloaded_t> .Create(OnLeaderboardScoresDownloaded); SteamAPICall_t handle = SteamUserStats.DownloadLeaderboardEntries(tempBean, type, startRange, endRange); //TODO 必须要延迟才能设置回调 //Thread.Sleep(1000); callResult.Set(handle); }
/// <summary> /// 查询全球排名 /// </summary> /// <param name="leaderboardId"></param> /// <param name="startRank"></param> /// <param name="endRank"></param> public void GetLeaderboardDataForGlobal(ulong leaderboardId, int startRank, int endRank, ISteamLeaderboardEntriesCallBack callBack) { if (!SteamManager.Initialized) { return; } if (steamLeaderboard == null) { steamLeaderboard = new SteamLeaderboardImpl(); } steamLeaderboard.FindLeaderboardEntries(leaderboardId, startRank, endRank, Steamworks.ELeaderboardDataRequest.k_ELeaderboardDataRequestGlobal, callBack); }