UNPKG

splat-ecs

Version:
76 lines (70 loc) 1.97 kB
/** * @namespace Splat.leaderboards */ var platform = require("./platform"); if (platform.isEjecta()) { var gameCenter = new window.Ejecta.GameCenter(); gameCenter.softAuthenticate(); var authFirst = function(action) { if (gameCenter.authed) { action(); } else { gameCenter.authenticate(function(err) { if (err) { return; } action(); }); } }; module.exports = { /** * Report that an achievement was achieved. * @alias Splat.leaderboards.reportAchievement * @param {string} id The name of the achievement. * @param {int} percent The percentage of the achievement that is completed in the range of 0-100. */ "reportAchievement": function(id, percent) { authFirst(function() { gameCenter.reportAchievement(id, percent); }); }, /** * Report that a score was achieved on a leaderboard. * @alias Splat.leaderboards.reportScore * @param {string} leaderboard The name of the leaderboard the score is on. * @param {int} score The score that was achieved. */ "reportScore": function(leaderboard, score) { authFirst(function() { gameCenter.reportScore(leaderboard, score); }); }, /** * Show the achievements screen. * @alias Splat.leaderboards.showAchievements */ "showAchievements": function() { authFirst(function() { gameCenter.showAchievements(); }); }, /** * Show a leaderboard screen. * @alias Splat.leaderboards.showLeaderboard * @param {string} name The name of the leaderboard to show. */ "showLeaderboard": function(name) { authFirst(function() { gameCenter.showLeaderboard(name); }); } }; } else { module.exports = { "reportAchievement": function() {}, "reportScore": function() {}, "showAchievements": function() {}, "showLeaderboard": function() {} }; }