In order to use Leaderboards for Time Based Rankings, we will simply multiply the time by a constant number, such as 1000. Once you get the Leaderboard, you then divide the score by the same constant.
Submit Score
float time = 522.31f;float timebasedScore = time * 1000f;string leaderboardKey = "timebased_leaderboardKey";LootLockerSDKManager.SubmitScore("", (int)timebasedScore, leaderboardKey, (response) =>{ if (!response.success) { Debug.Log("Could not submit score!"); Debug.Log(response.errorData.ToString()); return; }});.0aRUDRc2_Zf4fTE.webp)
var leaderboardKey : String = "timebased_leaderboardKey";var time : float = 522.31; var timebasedScore : int = time * 1000; var response = await LL_Leaderboards.SubmitScore.new(leaderboardKey, timebasedScore).send() if(!response.success) :
Request failed, handle errors
pass else:
Request succeeded, use response as applicable in your game logic
pass
Get Leaderboard List
string leaderboardKey = "timebased_leaderboardKey";LootLockerSDKManager.GetScoreList(leaderboardKey, 10, (response) =>{ if(response.success) { Debug.Log("Could not get scores!"); Debug.Log(response.errorData.ToString()); return; }
foreach(var entries in response.items) { float timebasedScore = entries.score / 1000; Debug.Log($"Player {entries.player.name} had a time of {timebasedScore} ranking them {entries.rank} on the Leaderboard"); }});.DULMWYjK_URw3H.webp)
var leaderboardKey : String = "timebased_leaderboardKey";var response = await LL_Leaderboards.GetScoreList.new(leaderboardKey, count).send() if(!response.success) :
Request failed, handle errors
pass else: for leaderboardEntry in response.items: var timebasedScore = leaderboardEntry.score / 1000.0; print("Player " + leaderboardEntry.player.name + " had a time of " + timebasedScore +" ranking them " + leaderboardEntry.rank + "on the Leaderboard");
Request succeeded, use response as applicable in your game logic
pass
