// // /*===============================================================================
// // Copyright (C) 2024 PhantomsXR Ltd. All Rights Reserved.
// //
// // This file is part of the LeaderboardSystem.Runtime.
// //
// // The Nin1 cannot be copied, distributed, or made available to
// // third-parties for commercial purposes without written permission of PhantomsXR Ltd.
// //
// // Contact nswell@phantomsxr.com for licensing requests.
// // ===============================================================================*/
using System.Threading.Tasks;
namespace Phantom.XRMOD.GameServices.Runtime
{
public interface ILeaderboardProvider
{
///
/// If user exist and leaderboard already will update the score for it, otherwise will auto create.
///
/// User's name(ID)
/// The leaderboard id
/// submit socre
/// List of
Task AddOrUpdateScore(string _userName, string _leaderboardId, float _score);
///
/// Players can get the scores from a specified leaderboard with the GetScoresAsync method.
/// You should create your leaderboard first and then substitute the leaderboardId for your own ID.
///
/// The leaderboard id
/// Offsetis the number of entries to skip when retrieving the leaderboard scores and defaults to 0.
/// Limit is the number of leaderboard scores to return and defaults to 10.
/// List of
Task GetScoreList(string _leaderboardId, int _offset = 0, int _limit = 10);
///
/// Get the score for the player.
///
/// The leaderboard id
/// The player score information, more detail
Task GetPlayerScore(string _leaderboardId);
}
}