API-TournamentPhase
ネームスペース: Gimmebreak.Backbone.Tournaments
インヘリタンス: Object → TournamentPhase
トーナメントフェーズは、トーナメントのパーツ(入室しているユーザー数、ラウンド数、フォーマットなど)を定義します。トーナメントは多くのフェーズを組み合わせて必要なフローを作成できます。
トーナメント内の初めのフェーズは常に1で始まります。
トーナメントフェーズには常に1つ以上のラウンドがあります。
プレイしたラウンド数、合計のフェーズポイント、フェーズ位置などログしたユーザー情報もあります。
C#
public class TournamentPhase
コンストラクター
TournamentPhase()
トーナメントフェーズを作成します。
C#
public TournamentPhase()
プロパティ
GroupCount
現在のフェーズ内のグループ数を判定します。
C#
public int GroupCount
{
get;
set;
}
GroupSize
単一のグループごとの最大チーム・パーティ数を判定します。
C#
public int GroupSize
{
get;
}
HasGroups
現在のフェーズ内にグループがあるかどうか判定します。
C#
public bool HasGroups
{
get;
}
Id
フェーズID(1で始まる)
C#
public int Id
{
get;
set;
}
IsLoserBracketSeeded
ダブルエリミネーショントーナメント方式のフェーズで、負けた人のトーナメント表にシード値を設定されているかどうか判定します。
C#
public bool IsLoserBracketSeeded
{
get;
set;
}
IsSkipAllowed
次のフェーズで期待していたよりも、現在のフェーズが少ないか同等の場合フェーズをスキップすることが可能か判定します。
C#
public bool IsSkipAllowed
{
get;
set;
}
MaxLoses
フェーズ内の最大負け数(例:アリーナが、3回負けたらアウトかどうか定義します)
C#
public int MaxLoses
{
get;
set;
}
MaxPlayers
フェーズに入る最大プレイヤー数
C#
public int MaxPlayers
{
get;
set;
}
MaxTeams
フェーズに入る最大チーム・パーティ数
C#
public int MaxTeams
{
get;
set;
}
MaxTeamsPerMatch
マッチごとに可能なチーム数
C#
public int MaxTeamsPerMatch
{
get;
set;
}
MinCheckinsPerTeam
トーナメントマッチを開始するのにチーム内の何人がチェックインしている必要があるか判定します。
C#
public int MinCheckinsPerTeam
{
get;
set;
}
MinTeamsPerMatch
マッチごとに必要な最小チーム数
マッチがプレイされるか否かを示唆します。
チーム・パーティ数でのみ完全に確認されます。
C#
public int MinTeamsPerMatch
{
get;
set;
}
備考
特定のフェーズ形式では、開始期限までにマッチがMinTeamsPerMatchを収容しない場合、パーティで全てがチェックされ自動勝利となり、次のラウンドに進みます。
Rounds
フェーズのラウンド
各ラウンドにはそれぞれの時間と勝利条件があります(例:各ラウンドは3番勝負だが、ファイナルラウンドは5番勝利など)。
C#
public List<TournamentRound> Rounds
{
get;
set;
}
Scores
このフェーズの全てのパーティスコアを判定します。各パーティが集めた得点、勝ち、負けなどのサマリーがあります。
リストは必要に応じて読み込みを行う必要があります。スコアを公表するには、バックボーンクライアントでLoadTournamentPhaseScores()を使用します。
C#
public List<TournamentScore> Scores
{
get;
set;
}
Type
フェーズの種類(例:アリーナまたはトーナメント)。
C#
public TournamentPhaseType Type
{
get;
set;
}
UserGroupId
現在のフェーズ内のユーザーグループIDを判定します。
C#
public int UserGroupId
{
get;
set;
}
UserIsGroupAssigned
ユーザーグループIDが割り当てられたかどうかを判定します。
トーナメントの最初のフェーズにグループが存在する場合、ユーザーは初めにチェックインを行う必要があります。
チームのみのパーティの場合は、リーダーがチェックインのプロセスを採用してグループIDをトリガーします。
C#
public bool UserIsGroupAssigned
{
get;
}
UserIsParticipating
ユーザーがフェーズに参加したかどうか判定します。
前のフェーズでユーザーが締め出された場合はfalseとなります。
C#
public bool UserIsParticipating
{
get;
set;
}
UserLoses
現在のフェーズでユーザーが負けた回数。
C#
public int UserLoses
{
get;
set;
}
UserPlayedRoundCount
与えられたフェーズ内のユーザーの既に完了したラウンドの回数
これは前のラウンドで実際にユーザーがプレイ・参加したかしていないかに関わらず増加します。
C#
public int UserPlayedRoundCount
{
get;
set;
}
UserPoints
現在のフェーズのユーザーポイント数
マッチ結果の合計ポイント(ゲームセッションで得点した合計ポイント数ではない)を表します。
C#
public int UserPoints
{
get;
set;
}
UserPositionBottom
フェーズ内でのユーザーの下からの位置(例:(1-3/8) => 3)
C#
public int UserPositionBottom
{
get;
set;
}
UserPositionTop
フェーズ内でのユーザーの現在の上からの位置(例:(1-3/8) => 1)
C#
public int UserPositionTop
{
get;
set;
}
メソッド
GetRoundById(int)
特定のIDでフェーズラウンドを取得します。
C#
public Gimmebreak.Backbone.Tournaments.TournamentRound GetRoundById(int roundId)
パラメータ
roundId
: ラウンドID (最初のラウンドは常に1から始まるIDです)。
リターン
トーナメントラウンド、またはラウンドが存在しない場合はnullを返します。
GetScoreByPartyId(long)
パーティIDで記録したフェーズのスコアを取得します。スコアはこのメソッドの使用前に読み込む必要がある点にご注意ください。そうしないと、値がNULLとなってしまいます。バックボーンクライアントではLoadTournamentPhaseScores()を使用してください。
C#
public Gimmebreak.Backbone.Tournaments.TournamentScore GetScoreByPartyId(long partyId)
パラメータ
partyId
: スコア記録を取得したいパーティID。
リターン
スコア記録または存在しない(もしくは読み込まれていない)場合はNULL
GetScoreByUserId(long)
ユーザーIDで記録したフェーズのスコアを取得します。スコアはこのメソッドの使用前に読み込む必要がある点にご注意ください。そうしないと、値がNULLとなってしまいます。バックボーンクライアントではLoadTournamentPhaseScores()を使用してください。
C#
public Gimmebreak.Backbone.Tournaments.TournamentScore GetScoreByUserId(long userId)
パラメータ
userId
: スコア記録を取得したいユーザーID
リターン
スコア記録または存在しない(もしくは読み込まれていない)場合はNULL