// // /*=============================================================================== // // 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); } }