public string GetLeaderboardName(LeaderboardHandle handle) { CheckIfUsable(); IntPtr pointer = NativeMethods.Stats_GetLeaderboardName(handle.AsUInt64); return(NativeHelpers.ToStringAnsi(pointer)); }
/// <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); } }
/// <summary> /// Invokes LeaderboardScoresDownloaded /// </summary> /// <param name="handle"></param> /// <param name="users"></param> public void DownloadLeaderboardEntriesForUsers(LeaderboardHandle handle, SteamID[] users) { CheckIfUsable(); // We need to first convert the array of SteamID objects to a byte array byte[] rawData = NativeBuffer.ToBytes(users); using (NativeBuffer buffer = new NativeBuffer(rawData)) { // Copies the list of user ID's to unmanaged memory buffer.WriteToUnmanagedMemory(); NativeMethods.Stats_DownloadLeaderboardEntriesForUsers(handle.AsUInt64, buffer.UnmanagedMemory, users.Length); } }
/// <summary> /// Invokes LeaderboardScoresDownloaded /// </summary> /// <param name="handle"></param> /// <param name="dataRequest"></param> /// <param name="start"></param> /// <param name="end"></param> public void DownloadLeaderboardEntries(LeaderboardHandle handle, LeaderboardDataRequest dataRequest, int rangeStart, int rangeEnd) { CheckIfUsable(); NativeMethods.Stats_DownloadLeaderboardEntries(handle.AsUInt64, (int)dataRequest, rangeStart, rangeEnd); }
public LeaderboardDisplayType GetLeaderboardDisplayType(LeaderboardHandle handle) { CheckIfUsable(); return (LeaderboardDisplayType)NativeMethods.Stats_GetLeaderboardDisplayType(handle.AsUInt64); }
public LeaderboardSortMethod GetLeaderboardSortMethod(LeaderboardHandle handle) { CheckIfUsable(); return (LeaderboardSortMethod)NativeMethods.Stats_GetLeaderboardSortMethod(handle.AsUInt64); }
public int GetLeaderboardEntryCount(LeaderboardHandle handle) { CheckIfUsable(); return NativeMethods.Stats_GetLeaderboardEntryCount(handle.AsUInt64); }
public string GetLeaderboardName(LeaderboardHandle handle) { CheckIfUsable(); IntPtr pointer = NativeMethods.Stats_GetLeaderboardName(handle.AsUInt64); return NativeHelpers.ToStringAnsi(pointer); }
public LeaderboardDisplayType GetLeaderboardDisplayType(LeaderboardHandle handle) { CheckIfUsable(); return((LeaderboardDisplayType)NativeMethods.Stats_GetLeaderboardDisplayType(handle.AsUInt64)); }
public LeaderboardSortMethod GetLeaderboardSortMethod(LeaderboardHandle handle) { CheckIfUsable(); return((LeaderboardSortMethod)NativeMethods.Stats_GetLeaderboardSortMethod(handle.AsUInt64)); }
public int GetLeaderboardEntryCount(LeaderboardHandle handle) { CheckIfUsable(); return(NativeMethods.Stats_GetLeaderboardEntryCount(handle.AsUInt64)); }
/// <summary> /// Invokes LeaderboardUGCSet /// </summary> /// <param name="handle"></param> /// <param name="ugcHandle"></param> public void AttachLeaderboardUGC(LeaderboardHandle handle, UGCHandle ugcHandle) { CheckIfUsable(); NativeMethods.Stats_AttachLeaderboardUGC(handle.AsUInt64, ugcHandle.AsUInt64); }
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); }