diff --git a/Facepunch.Steamworks/Structs/Leaderboard.cs b/Facepunch.Steamworks/Structs/Leaderboard.cs index e66730d..f9b5f9a 100644 --- a/Facepunch.Steamworks/Structs/Leaderboard.cs +++ b/Facepunch.Steamworks/Structs/Leaderboard.cs @@ -32,7 +32,7 @@ namespace Steamworks.Data var r = await SteamUserStats.Internal.UploadLeaderboardScore( Id, LeaderboardUploadScoreMethod.ForceUpdate, score, details, details.Length ); if ( !r.HasValue ) return null; - return LeaderboardUpdate.From( r.Value ); + return new LeaderboardUpdate( r.Value ); } /// @@ -45,7 +45,7 @@ namespace Steamworks.Data var r = await SteamUserStats.Internal.UploadLeaderboardScore( Id, LeaderboardUploadScoreMethod.KeepBest, score, details, details.Length ); if ( !r.HasValue ) return null; - return LeaderboardUpdate.From( r.Value ); + return new LeaderboardUpdate( r.Value ); } /// diff --git a/Facepunch.Steamworks/Structs/LeaderboardUpdate.cs b/Facepunch.Steamworks/Structs/LeaderboardUpdate.cs index dc0eb12..039fd20 100644 --- a/Facepunch.Steamworks/Structs/LeaderboardUpdate.cs +++ b/Facepunch.Steamworks/Structs/LeaderboardUpdate.cs @@ -4,19 +4,18 @@ namespace Steamworks.Data { public struct LeaderboardUpdate { - public int Score; - public bool Changed; - public int NewGlobalRank; - public int OldGlobalRank; + private readonly LeaderboardScoreUploaded_t _internal; + + public bool Success => _internal.Success != 0; + public int Score => _internal.Score; + public bool Changed => _internal.ScoreChanged != 0; + public int NewGlobalRank => _internal.GlobalRankNew; + public int OldGlobalRank => _internal.GlobalRankPrevious; public int RankChange => NewGlobalRank - OldGlobalRank; - internal static LeaderboardUpdate From( LeaderboardScoreUploaded_t e ) => - new LeaderboardUpdate - { - Score = e.Score, - Changed = e.ScoreChanged == 1, - NewGlobalRank = e.GlobalRankNew, - OldGlobalRank = e.GlobalRankPrevious - }; + internal LeaderboardUpdate( LeaderboardScoreUploaded_t result ) + { + _internal = result; + } } -} \ No newline at end of file +}