public void UpdateLeaderboardScore(ulong leaderboardId, int score, int[] scoreDetails, int scoreDetailsMax, ISteamLeaderboardUpdateCallBack callBack) { this.mUpdateCallBack = callBack; SteamLeaderboard_t m_SteamLeaderboard = new SteamLeaderboard_t { m_SteamLeaderboard = leaderboardId }; CallResult <LeaderboardScoreUploaded_t> callResult = CallResult <LeaderboardScoreUploaded_t> .Create(OnLeaderboardScoreUploaded); SteamAPICall_t handle = SteamUserStats.UploadLeaderboardScore(m_SteamLeaderboard, ELeaderboardUploadScoreMethod.k_ELeaderboardUploadScoreMethodForceUpdate, score, scoreDetails, scoreDetailsMax); callResult.Set(handle); }
/// <summary> /// 根据排行榜ID更新排行榜该用户的分数 /// </summary> /// <param name="leaderboardId"></param> /// <param name="score"></param> public void UpdateLeaderboardScore(ulong leaderboardId, int score, ISteamLeaderboardUpdateCallBack callBack) { UpdateLeaderboardScore(leaderboardId, score, null, 0, callBack); }
/// <summary> /// 设置排行榜数据 /// </summary> /// <param name="leaderboardId"></param> /// <param name="score"></param> /// <param name="details"></param> /// <param name="callBack"></param> public void SetGetLeaderboardData(ulong leaderboardId, int score, string details, ISteamLeaderboardUpdateCallBack callBack) { if (!SteamManager.Initialized) { return; } if (steamLeaderboard == null) { steamLeaderboard = new SteamLeaderboardImpl(); } if (details.Length > 64) { details = details.Substring(0, 64); } int[] intDetails = TypeConversionUtil.StringToInt32(details); int[] intDetailsData = new int[64]; intDetails.CopyTo(intDetailsData, 0); steamLeaderboard.UpdateLeaderboardScore(leaderboardId, score, intDetailsData, 64, callBack); }