writeLeaderboardRecord method

  1. @override
Future<LeaderboardRecord> writeLeaderboardRecord({
  1. required Session session,
  2. required String leaderboardName,
  3. int? score,
  4. int? subscore,
  5. String? metadata,
})
override

Submitting scores

When players submit scores, Nakama will increment the player’s existing score by the submitted score value.

Along with the score value, Nakama also has a subscore, which can be used for ordering when the scores are the same.

Implementation

@override
Future<model.LeaderboardRecord> writeLeaderboardRecord({
  required model.Session session,
  required String leaderboardName,
  int? score,
  int? subscore,
  String? metadata,
}) async {
  final res = await _client.writeLeaderboardRecord(
    api.WriteLeaderboardRecordRequest(
      leaderboardId: leaderboardName,
      record: api.WriteLeaderboardRecordRequest_LeaderboardRecordWrite(
        score: score == null ? null : Int64(score),
        subscore: subscore == null ? null : Int64(subscore),
        metadata: metadata,
      ),
    ),
    options: _getSessionCallOptions(session),
  );

  return model.LeaderboardRecord.fromDto(res);
}