writeTournamentRecord method
Future<LeaderboardRecord>
writeTournamentRecord({
- required Session session,
- required String tournamentId,
- String? metadata,
- LeaderboardOperator? operator,
- int? score,
- int? subscore,
override
Submitting scores
Players can submit scores, subscores and metadata to the tournament.
Implementation
@override
Future<model.LeaderboardRecord> writeTournamentRecord({
required model.Session session,
required String tournamentId,
String? metadata,
LeaderboardOperator? operator,
int? score,
int? subscore,
}) async {
final res = await _client.writeTournamentRecord(
api.WriteTournamentRecordRequest(
tournamentId: tournamentId,
record: api.WriteTournamentRecordRequest_TournamentRecordWrite(
metadata: metadata,
operator: () {
switch (operator) {
case LeaderboardOperator.best:
return api.Operator.BEST;
case LeaderboardOperator.decrement:
return api.Operator.DECREMENT;
case LeaderboardOperator.increment:
return api.Operator.INCREMENT;
case LeaderboardOperator.noOverride:
return api.Operator.NO_OVERRIDE;
case LeaderboardOperator.set:
return api.Operator.SET;
default:
return null;
}
}(),
score: score != null ? Int64(score) : null,
subscore: subscore != null ? Int64(subscore) : null,
),
),
options: _getSessionCallOptions(session),
);
return model.LeaderboardRecord.fromDto(res);
}