private static extern SteamAPICall_t _UploadLeaderboardScore(IntPtr self, SteamLeaderboard_t hSteamLeaderboard, LeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, [In, Out] int[] pScoreDetails, int cScoreDetailsCount);
/// <summary> /// Invokes LeaderboardScoreUploaded /// </summary> /// <param name="handle"></param> /// <param name="scoreMethod"></param> /// <param name="score"></param> /// <param name="details"></param> public void UploadLeaderboardScore(LeaderboardHandle handle, LeaderboardUploadScoreMethod scoreMethod, int score, int[] details) { CheckIfUsable(); using (NativeBuffer buffer = new NativeBuffer(NativeBuffer.ToBytes(details))) { buffer.WriteToUnmanagedMemory(); NativeMethods.Stats_UploadLeaderboardScore(handle.AsUInt64, (int)scoreMethod, score, buffer.UnmanagedMemory, details.Length); } }
internal async Task <LeaderboardScoreUploaded_t?> UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, LeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, [In, Out] int[] pScoreDetails, int cScoreDetailsCount) { return(await LeaderboardScoreUploaded_t.GetResultAsync(_UploadLeaderboardScore( Self, hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount ))); }
internal CallResult <LeaderboardScoreUploaded_t> UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, LeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, [In, Out] int[] pScoreDetails, int cScoreDetailsCount) { var returnValue = _UploadLeaderboardScore(Self, hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount); return(new CallResult <LeaderboardScoreUploaded_t>(returnValue, IsServer)); }
// SteamAPICall_t public CallbackHandle UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard /*SteamLeaderboard_t*/, LeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod /*ELeaderboardUploadScoreMethod*/, int nScore /*int32*/, int[] pScoreDetails /*const int32 **/, int cScoreDetailsCount /*int*/, Action<LeaderboardScoreUploaded_t, bool> CallbackFunction = null /*Action<LeaderboardScoreUploaded_t, bool>*/ ) { SteamAPICall_t callback = 0; callback = platform.ISteamUserStats_UploadLeaderboardScore( hSteamLeaderboard.Value, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount ); if ( CallbackFunction == null ) return null; return LeaderboardScoreUploaded_t.CallResult( steamworks, callback, CallbackFunction ); }
internal async Task <LeaderboardScoreUploaded_t?> UploadLeaderboardScore(SteamLeaderboard_t hSteamLeaderboard, LeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int nScore, [In][Out] int[] pScoreDetails, int cScoreDetailsCount) { LeaderboardScoreUploaded_t?resultAsync = await LeaderboardScoreUploaded_t.GetResultAsync(this._UploadLeaderboardScore(this.Self, hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount)); return(resultAsync); }
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); }