leaderboard added
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using Darkmatter.Core;
|
||||
using Unity.Services.Leaderboards;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace Darkmatter.Presentation
|
||||
{
|
||||
public class LeaderBoardController : ILeaderBoardController
|
||||
{
|
||||
private const string leaderBoardID = "helix_leaderboard";
|
||||
private LeaderBoardView leaderBoardView;
|
||||
|
||||
public LeaderBoardController( LeaderBoardView _leaderBoardView )
|
||||
{
|
||||
this.leaderBoardView = _leaderBoardView;
|
||||
leaderBoardView.ExitButton.onClick.AddListener(OnExitBtnClicked);
|
||||
}
|
||||
|
||||
private void OnExitBtnClicked()
|
||||
{
|
||||
Debug.Log("ExitBtnClicked From LeaderBoard");
|
||||
}
|
||||
|
||||
public void ShowLeaderBoard()
|
||||
{
|
||||
LoadLeaderBoard();
|
||||
leaderBoardView.Show();
|
||||
}
|
||||
|
||||
async void LoadLeaderBoard()
|
||||
{
|
||||
var score = await LeaderboardsService.Instance.GetScoresAsync(leaderBoardID, new GetScoresOptions { Limit = 10 });
|
||||
int rank = 1;
|
||||
foreach(var entry in score.Results)
|
||||
{
|
||||
leaderBoardView.UpdateData(rank,entry.PlayerName,entry.Score.ToString());
|
||||
rank++;
|
||||
}
|
||||
}
|
||||
|
||||
public void HideLeaderBoard()
|
||||
{
|
||||
leaderBoardView.Hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user