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
.
Tournament()
Create an instance of a tournament.
public Tournament()
AdditionalDescription
public string AdditionalDescription { get; set; }
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; }
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; }
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; }
CurrentPhaseStarted
public DateTime CurrentPhaseStarted { get; set; }
CustomProperties
Get tournament custom properties. (e.g. game mode, allowed abilities, allowed maps, etc.)
CustomProperties
public TournamentCustomProperties CustomProperties { get; set; }
Description
public string Description { get; set; }
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; }
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; }
HighlightsUrl
public string HighlightsUrl { get; set; }
IconUrl
public string IconUrl { get; set; }
Id
public long Id { get; set; }
ImageUrl
public string ImageUrl { get; set; }
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; }
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; }
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; }
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; }
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; }
LastMatchRoundId
public int LastMatchRoundId { get; set; }
LastUpdate
public DateTime LastUpdate { get; set; }
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; }
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; }
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; }
PartySize
public int PartySize { get; set; }
PhaseCount
public int PhaseCount { get; set; }
Phases
List of all tournament phases. The tournament always has at least one phase (PhaseId = 1).
Phases
public List<TournamentPhase> Phases { get; set; }
PolicyURL
public string PolicyURL { get; set; }
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; }
Prizes
public List<TournamentPrize> Prizes { get; set; }
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; }
ReplayExpires
Determine when the replay URL expires (e.g. twitch after 14 days). This is UTC datetime.
ReplayExpires
public DateTime ReplayExpires { get; set; }
ReplayUrl
public string ReplayUrl { get; set; }
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; }
RoundCount
public int RoundCount { get; set; }
Season
public int Season { get; set; }
SeasonPart
public int SeasonPart { get; set; }
SponsorImageUrl
public string SponsorImageUrl { get; set; }
SponsorName
public string SponsorName { get; set; }
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; }
StreamUrl
public string StreamUrl { get; set; }
ThemeColor
public string ThemeColor { get; set; }
Time
public DateTime Time { get; set; }
TournamentName
public string TournamentName { get; set; }
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; }
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; }
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; }
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; }
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()
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)
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)
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)
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)
GetThemeColor()
public UnityEngine.Color GetThemeColor()
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)