API

Tournament

Represents exactly one specific instance of a tournament holding all necessary information. To load tournament data, call LoadTournamentList() or LoadTournament() on the backbone client. All tournament instances can be found in client.Tournaments.TournamentList.


Constructor

Tournament()

Create an instance of a tournament.

public Tournament()

Property

AdditionalDescription

Get additional description of this tournament, if any.

AdditionalDescription

public string AdditionalDescription { get; set; }

Property

AllMatches

All tournament matches from all phases. This field can be populated with LoadTournamentMatches() or LoadTournamentMatchesAll() call on the backbone client.

AllMatches

public List<TournamentMatch> AllMatches { get; set; }

Property

CurrentInvites

Determine current active invites/registrations for the tournament. This always represents a single user even if the tournament is set to have parties/teams.

CurrentInvites

public int CurrentInvites { get; set; }

Property

CurrentPhaseId

Determine current active phase Id (If id=0 then the tournament was not initiated yet, the first phase always starts with id=1).

CurrentPhaseId

public int CurrentPhaseId { get; set; }

Property

CurrentPhaseStarted

Determine when the current phase started. This is UTC datetime.

CurrentPhaseStarted

public DateTime CurrentPhaseStarted { get; set; }

Property

CustomProperties

Get tournament custom properties. (e.g. game mode, allowed abilities, allowed maps, etc.)

CustomProperties

public TournamentCustomProperties CustomProperties { get; set; }

Property

Description

Get the description of this tournament, if any.

Description

public string Description { get; set; }

Property

EntryFee

Determine the entry fee of this tournament. This will not be null even if the tournament does not have any entry fees set up, however EntryFee.Items will be empty.

EntryFee

public TournamentEntryFee EntryFee { get; set; }

Property

HasAllDataLoaded

Determine if all tournament data were loaded.

Remarks
This is set to false if the tournament was loaded only with LoadTournamentList() call on the backbone client. This is set to true if the tournament was loaded with LoadTournament() call on the backbone client.

HasAllDataLoaded

public bool HasAllDataLoaded { get; set; }

Property

HighlightsUrl

Get the highlights URL of the tournament, if any.

HighlightsUrl

public string HighlightsUrl { get; set; }

Property

IconUrl

Get the icon URL of this tournament, if any.

IconUrl

public string IconUrl { get; set; }

Property

Id

Tournament unique id.

Id

public long Id { get; set; }

Property

ImageUrl

Get the image URL of this tournament, if any.

ImageUrl

public string ImageUrl { get; set; }

Property

InvitationCloseTime

Determine when the invitation closes. After this point, nobody can sign up or sign out. This is UTC datetime.

InvitationCloseTime

public DateTime InvitationCloseTime { get; set; }

Property

InvitationOpenTime

Determine when the invitation opens. This is UTC datetime.

Remarks
When the invitation opens, only users who have a direct invite can sign up. Direct invites can represent winners from previous tournaments or specific users set up in the dashboard. This means you can give time priority to those users for sign up before public registration opens.

InvitationOpenTime

public DateTime InvitationOpenTime { get; set; }

Property

Invite

Get tournament invite/ticket. If the user was invited to the tournament, the ticket is available but not confirmed. This property is null if the user was not automatically invited or signed up for the tournament.

Invite

public TournamentInvite Invite { get; set; }

Property

IsAdministrator

Determine if the user is the administrator of this tournament. The administrator can access match secrets when browsing matches and therefore join as a spectator.

IsAdministrator

public bool IsAdministrator { get; set; }

Property

IsInvitationOnly

Determine if the tournament is only for invited users. If set to true, then RegistrationOpenTime should not be used as it does not contain a valid value.

IsInvitationOnly

public bool IsInvitationOnly { get; set; }

Property

LastMatchRoundId

Determine the last round id of the match that the user played.

LastMatchRoundId

public int LastMatchRoundId { get; set; }

Property

LastUpdate

Determine the last tournament data update.

LastUpdate

public DateTime LastUpdate { get; set; }

Property

MaxInvites

Determine max invites/registrations for the tournament. This always represents a single user even if the tournament is set to have parties/teams.

MaxInvites

public int MaxInvites { get; set; }

Property

NextPhase

Determine the time when the next phase will start. This is UTC datetime.

Remarks
If all matches have been played in the current phase, then the tournament might progress to the next phase sooner to prevent unnecessary waiting for users.

NextPhase

public DateTime NextPhase { get; set; }

Property

Party

Get user party (signup user is always in a party, even in 1v1). This property is null until the user signs up for the tournament.

Remarks
Signed up user is always in a party. If the user leaves the party, then he is automatically assigned a new one.

Party

public TournamentParty Party { get; set; }

Property

PartySize

Determine the required party size for the tournament (e.g. 1v1, 2v2, 3v3, etc).

PartySize

public int PartySize { get; set; }

Property

PhaseCount

Determine how many phases are in the tournament (always at least one).

PhaseCount

public int PhaseCount { get; set; }

Property

Phases

List of all tournament phases. The tournament always has at least one phase (PhaseId = 1).

Phases

public List<TournamentPhase> Phases { get; set; }

Property

PolicyURL

Get the policy URL of this tournament, if any.

PolicyURL

public string PolicyURL { get; set; }

Property

PrivateCode

Get the private code of this tournament. Can be shared with other users to sign up for private tournaments.

Remarks
Private code is generated only if this type of invite is enabled in the dashboard.

PrivateCode

public string PrivateCode { get; set; }

Property

Prizes

List of tournament prizes.

Prizes

public List<TournamentPrize> Prizes { get; set; }

Property

RegistrationOpenTime

Determine when registration opens. This property is set only if IsInvitationOnly is set to false. This is UTC datetime.

Remarks
When registration opens, any user can sign up.

RegistrationOpenTime

public DateTime RegistrationOpenTime { get; set; }

Property

ReplayExpires

Determine when the replay URL expires (e.g. twitch after 14 days). This is UTC datetime.

ReplayExpires

public DateTime ReplayExpires { get; set; }

Property

ReplayUrl

Get the replay URL of the tournament, if any. (e.g. twitch VOD)

ReplayUrl

public string ReplayUrl { get; set; }

Property

Requirements

Determine tournament requirements for signup. This will not be null even if the tournament does not have any custom requirements set up, however Requirements.CustomRequirements will be empty.

Requirements

public TournamentRequirements Requirements { get; set; }

Property

RoundCount

Determine how many rounds in total are in the tournament (always at least one).

RoundCount

public int RoundCount { get; set; }

Property

Season

Determine which season the tournament is created in.

Season

public int Season { get; set; }

Property

SeasonPart

Determine which season part the tournament is created in.

SeasonPart

public int SeasonPart { get; set; }

Property

Get the sponsor image.

SponsorImageUrl

public string SponsorImageUrl { get; set; }

Property

Get the sponsor name.

SponsorName

public string SponsorName { get; set; }

Property

Status

Current status of the tournament. (e.g. Invitation Open, Finished, etc.) To get more detailed statuses, you have to connect the tournament with the tournament hub.

Status

public TournamentStatus Status { get; set; }

Property

StreamUrl

Get the tournament stream URL, if any.

StreamUrl

public string StreamUrl { get; set; }

Property

ThemeColor

Get the theme color of this tournament, if any.

ThemeColor

public string ThemeColor { get; set; }

Property

Time

Determine the start time of the tournament. This is UTC datetime.

Time

public DateTime Time { get; set; }

Property

TournamentName

Tournament official name.

TournamentName

public string TournamentName { get; set; }

Property

Type

Determine the type of tournament. (e.g. public, private, testing) Some tournament types are only visible to certain users.

Type

public TournamentType Type { get; set; }

Property

UserActiveMatch

Currently active match for the user which he should join. This is only applicable for users that are signed up for the tournament.

Remarks
This property is automatically set when the user connects to the tournament hub. In some situations, the user will be asked by the tournament hub to explicitly confirm that he is ready before the tournament match is assigned.

UserActiveMatch

public TournamentMatch UserActiveMatch { get; set; }

Property

UserMatches

All user matches from all phases.

Remarks
If the user failed to start certain rounds on time and totally skipped some round matches (autolose), then those matches will not be present in this list. Use UserPlayedRoundCount property on the tournament phase object to determine if the user actually missed a match.

UserMatches

public List<TournamentMatch> UserMatches { get; set; }

Property

Winner

Get basic tournament winner data. This contains a list of all users in all parties that finished in the first position.

Remarks
If the last phase of the tournament has groups, then the tournament can have multiple winners as the final position is calculated within a group.

Winner

public TournamentWinner Winner { get; set; }

Method

GetCurrentTournamentPhase()

Get the current tournament phase.

Returns

Tournament phase or null if the tournament has not started yet. Finished tournament always returns the last phase.

GetCurrentTournamentPhase()

public Gimmebreak.Backbone.Tournaments.TournamentPhase GetCurrentTournamentPhase()

Method

GetMatchMinGameLength(TournamentMatch)

Get the minimum length (in minutes) required for a game to be played.

Method parameters

  • match: Tournament match.

Returns

Minimum length (in minutes).

GetMatchMinGameLength(TournamentMatch)

public int GetMatchMinGameLength(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetMatchNextGameFinishDeadline(TournamentMatch)

Calculate a finish deadline for the next game within a match. This deadline is calculated in a way that there is still at least the minimum game time for each game that has to be played.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Maximum possible finish deadline for the next game.

GetMatchNextGameFinishDeadline(TournamentMatch)

public System.DateTime GetMatchNextGameFinishDeadline(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetMatchNextGameStartDeadline(TournamentMatch)

Calculate a start deadline for the next game within a match. This deadline is calculated in a way that there is still at least the minimum game time for each game that has to be played.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Maximum possible start deadline for the next game.

GetMatchNextGameStartDeadline(TournamentMatch)

public System.DateTime GetMatchNextGameStartDeadline(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetMatchStartDeadline(TournamentMatch)

Determine the deadline after which the match has to start in order to accommodate all required games, each to be played with at least the minimum game time.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Deadline after which the match has to start.

GetMatchStartDeadline(TournamentMatch)

public System.DateTime GetMatchStartDeadline(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetThemeColor()

Get the tournament theme color.

Returns

Unity color.

GetThemeColor()

public UnityEngine.Color GetThemeColor()

Method

GetTournamentMatchById(long)

Get a tournament match by its unique id.

Method parameters

  • Name
    tournamentMatchId
    Type
    long
    Description

    Tournament match id.

Returns

Tournament match or null if the match cannot be found.

Remarks This method searches for the match locally and does not access server data. If the match id is valid but the method returns null, populate local data with LoadTournamentMatches() on the backbone client.

GetTournamentMatchById(long)

public Gimmebreak.Backbone.Tournaments.TournamentMatch GetTournamentMatchById(long tournamentMatchId)

Method

GetTournamentMatchMaxGameCount(TournamentMatch)

Determine the maximum allowed number of games to be played in a specific match. Once this value is reached, the system will determine winners by scored points from all played games.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Maximum allowed number of games.

GetTournamentMatchMaxGameCount(TournamentMatch)

public int GetTournamentMatchMaxGameCount(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetTournamentMatchMinCheckinsPerTeam(TournamentMatch)

Determine the required minimum check-ins per team for a specific match.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Minimum check-ins per team for the specific match.

GetTournamentMatchMinCheckinsPerTeam(TournamentMatch)

public int GetTournamentMatchMinCheckinsPerTeam(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetTournamentMatchWinScore(TournamentMatch)

Determine the required win score for a specific match. The win score determines how many times a user has to place in a scored position in order to win the match.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Win score for the specific match.

GetTournamentMatchWinScore(TournamentMatch)

public int GetTournamentMatchWinScore(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

GetTournamentPhaseById(int)

Get a specific tournament phase by its id.

Method parameters

  • Name
    phaseId
    Type
    int
    Description

    Tournament phase id (first phase always starts with id=1).

Returns

Tournament phase or null if the phase does not exist.

GetTournamentPhaseById(int)

public Gimmebreak.Backbone.Tournaments.TournamentPhase GetTournamentPhaseById(int phaseId)

Method

GetTournamentPhaseFinishTime(int)

Get the finish timestamp of a specific tournament phase.

Method parameters

  • Name
    phaseId
    Type
    int
    Description

    Phase id.

Returns

Finish timestamp of the requested phase.

GetTournamentPhaseFinishTime(int)

public System.DateTime GetTournamentPhaseFinishTime(int phaseId)

Method

GetTournamentPhaseMaxLength(int)

Get the maximum time length of a tournament phase in minutes. This is the sum of all round MaxLength values.

Method parameters

  • Name
    phaseId
    Type
    int
    Description

    Phase id.

Returns

Length of the tournament phase in minutes.

GetTournamentPhaseMaxLength(int)

public int GetTournamentPhaseMaxLength(int phaseId)

Method

GetTournamentPhaseRoundFinishTime(int, int)

Get the round finish timestamp in the currently active tournament phase.

Method parameters

  • Name
    phaseId
    Type
    int
    Description

    Phase id.

  • Name
    roundId
    Type
    int
    Description

    Round id.

Returns

Finish timestamp of the requested round.

GetTournamentPhaseRoundFinishTime(int, int)

public System.DateTime GetTournamentPhaseRoundFinishTime(int phaseId, int roundId)

Method

GetTournamentPhaseRoundStartTime(int, int)

Get the round start timestamp in the currently active tournament phase.

Method parameters

  • Name
    phaseId
    Type
    int
    Description

    Phase id.

  • Name
    roundId
    Type
    int
    Description

    Round id.

Returns

Start timestamp of the requested round.

GetTournamentPhaseRoundStartTime(int, int)

public System.DateTime GetTournamentPhaseRoundStartTime(int phaseId, int roundId)

Method

GetTournamentPhaseStartTime(int)

Get the start timestamp of a specific tournament phase.

Method parameters

  • Name
    phaseId
    Type
    int
    Description

    Phase id.

Returns

Start timestamp of the requested phase.

GetTournamentPhaseStartTime(int)

public System.DateTime GetTournamentPhaseStartTime(int phaseId)

Method

IsMatchInLoserBracket(TournamentMatch)

Determine if the match is in the loser bracket. This is used for the double elimination bracket format.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

True if the match is in the loser bracket.

IsMatchInLoserBracket(TournamentMatch)

public bool IsMatchInLoserBracket(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

IsMatchInWinnerBracket(TournamentMatch)

Determine if the match is in the winner bracket. This is used for the double elimination bracket format.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

True if the match is in the winner bracket.

IsMatchInWinnerBracket(TournamentMatch)

public bool IsMatchInWinnerBracket(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

Method

IsMatchMergingInLoserBracket(TournamentMatch)

Determine if the match is merging within the loser bracket. This is used for the double elimination bracket format.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

True if the match is merging in the loser bracket.

Remarks Merging in the loser bracket means that the winner of the loser bracket match will face another winner of the loser bracket match. In the opposite case, if the match is not merging, then the winner of the loser bracket will face the loser of the winner bracket, therefore the number of loser bracket matches will be the same in the next round. This method helps with the UI visualization of double elimination brackets.

IsMatchMergingInLoserBracket(TournamentMatch)

public bool IsMatchMergingInLoserBracket(Gimmebreak.Backbone.Tournaments.TournamentMatch match)

MethodDeprecated

GetMatchNextGameDeadline(TournamentMatch)

Calculate a finish deadline for the next game within a match. This deadline is calculated in a way that there is still at least the minimum game time for each game that has to be played.

Method parameters

  • Name
    match
    Type
    TournamentMatch
    Description

    Tournament match.

Returns

Maximum possible finish deadline for the next game.

GetMatchNextGameDeadline(TournamentMatch)

public System.DateTime GetMatchNextGameDeadline(Gimmebreak.Backbone.Tournaments.TournamentMatch match)