Class: Leaderboard

Phaser.FacebookInstantGamesPlugin. Leaderboard

This class represents one single Leaderboard that belongs to a Facebook Instant Game.

You do not need to instantiate this class directly, it will be created when you use the getLeaderboard() method of the main plugin.


new Leaderboard(plugin, data)

Parameters:
Name Type Description
plugin Phaser.FacebookInstantGamesPlugin

A reference to the Facebook Instant Games Plugin.

data any

An Instant Game leaderboard instance.

Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 11)

Members


contextID :string

The ID of the context that the leaderboard is associated with, or null if the leaderboard is not tied to a particular context.

Type:
  • string
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 63)

entryCount :integer

The total number of player entries in the leaderboard. This value defaults to zero. Populate it via the getEntryCount() method.

Type:
  • integer
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 72)

name :string

The name of the leaderboard.

Type:
  • string
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 54)

playerScore :LeaderboardScore

The players score object. This value defaults to null. Populate it via the getPlayerScore() method.

Type:
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 82)

plugin :Phaser.FacebookInstantGamesPlugin

A reference to the Facebook Instant Games Plugin.

Type:
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 36)

ref :any

An Instant Game leaderboard instance.

Type:
  • any
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 45)

scores :Array.<LeaderboardScore>

The scores in the Leaderboard from the currently requested range. This value defaults to an empty array. Populate it via the getScores() method. The contents of this array are reset each time getScores() is called.

Type:
Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 92)

Methods


getConnectedScores( [count] [, offset])

Retrieves a set of leaderboard entries, based on the current player's connected players (including the current player), ordered by local rank within the set of connected players.

The data is requested in an async call, so the result isn't available immediately.

When the call completes this Leaderboard will emit the getconnectedscores event along with an array of LeaderboardScore entries and the name of the Leaderboard.

Parameters:
Name Type Argument Default Description
count integer <optional>
10

The number of entries to attempt to fetch from the leaderboard. Currently, up to a maximum of 100 entries may be fetched per query.

offset integer <optional>
0

The offset from the top of the leaderboard that entries will be fetched from.

Since: 3.16.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 270)
Returns:

This Leaderboard instance.

Type
Phaser.FacebookInstantGamesPlugin.Leaderboard

getEntryCount()

Fetches the total number of player entries in the leaderboard.

The data is requested in an async call, so the result isn't available immediately.

When the call completes this Leaderboard will emit the getentrycount event along with the count and name of the Leaderboard.

Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 106)
Returns:

This Leaderboard instance.

Type
Phaser.FacebookInstantGamesPlugin.Leaderboard

getPlayerScore()

Gets the players leaderboard entry and stores it in the playerScore property.

The data is requested in an async call, so the result isn't available immediately.

When the call completes this Leaderboard will emit the getplayerscore event along with the score and the name of the Leaderboard.

If the player has not yet saved a score, the event will send null as the score value, and playerScore will be set to null as well.

Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 188)
Returns:

This Leaderboard instance.

Type
Phaser.FacebookInstantGamesPlugin.Leaderboard

getScores( [count] [, offset])

Retrieves a set of leaderboard entries, ordered by score ranking in the leaderboard.

The data is requested in an async call, so the result isn't available immediately.

When the call completes this Leaderboard will emit the getscores event along with an array of LeaderboardScore entries and the name of the Leaderboard.

Parameters:
Name Type Argument Default Description
count integer <optional>
10

The number of entries to attempt to fetch from the leaderboard. Currently, up to a maximum of 100 entries may be fetched per query.

offset integer <optional>
0

The offset from the top of the leaderboard that entries will be fetched from.

Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 229)
Returns:

This Leaderboard instance.

Type
Phaser.FacebookInstantGamesPlugin.Leaderboard

setScore(score [, data])

Updates the player's score. If the player has an existing score, the old score will only be replaced if the new score is better than it. NOTE: If the leaderboard is associated with a specific context, the game must be in that context to set a score for the player.

The data is requested in an async call, so the result isn't available immediately.

When the call completes this Leaderboard will emit the setscore event along with the LeaderboardScore object and the name of the Leaderboard.

If the save fails the event will send null as the score value.

Parameters:
Name Type Argument Description
score integer

The new score for the player. Must be a 64-bit integer number.

data string | any <optional>

Metadata to associate with the stored score. Must be less than 2KB in size. If an object is given it will be passed to JSON.stringify.

Since: 3.13.0
Source: plugins/fbinstant/src/Leaderboard.js (Line 136)
Returns:

This Leaderboard instance.

Type
Phaser.FacebookInstantGamesPlugin.Leaderboard