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 )));
 }
예제 #4
0
        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 );
		}
예제 #6
0
        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);
        }