API-ITournamentHubController
Namespace: Gimmebreak.Backbone.Tournaments
상속: Object → ITournamentHubController
이 인터페이스는 사용자가 연결된 토너먼트 허브(ITournamentHubCallbackHandler)를 통해 토너먼트와 상호작용할 수 있는 일련의 메소드를 제공합니다.
토너먼트 허브가 초기화되면 이 인터페이스를 구현하는 컨트롤러가 토너먼트 허브에 제공됩니다.
토너먼트 허브 컨트롤러를 사용하여 사용자가 활성 매치에 참여하여 토너먼트 일치 상태 업데이트를 받을 수 있습니다.
JoinTournamentMatch()를 호출할 때 토너먼트 허브와 게임룸/로비 api 간의 인터페이스를 생성하는 토너먼트 매치 핸들러를 제공할 수 있습니다.
C#
public interface ITournamentHubController
속성
ActiveMatchFinishDeadlineCountdown
사용자의 활성 매치를 완료해야 할 때까지 남은 시간을 확인합니다.
C#
public abstract virtual TimeSpan ActiveMatchFinishDeadlineCountdown
{
get;
}
비고
매치 속성 데드라인으로부터 모든 매치 항목에 대한 데드라인을 얻을 수 있습니다.
ActiveMatchStartDeadlineCountdown
사용자가 활성 매치를 시작할 때까지 남은 시간을 확인합니다.
C#
public abstract virtual TimeSpan ActiveMatchStartDeadlineCountdown
{
get;
}
비고
시작 데드라인은 tournament.GetMatchStartDeadline(TournamentMatch)를 호출하여 모든 매치에 대해 얻을 수 있습니다.
IsConnectedToGameServerNetwork
토너먼트 매치 핸들러가 게임 서버에 연결되어 있는지를 확인합니다.
C#
public abstract virtual bool IsConnectedToGameServerNetwork
{
get;
}
비고
UI에 알려줄 수 있습니다 (예, 토너먼트 핸들러가 선호하는 토너먼트 서버 지역으로 변경되는 중).
IsGameSessionInProgress
게임 세션이 진행 중 인지를 확인합니다.
C#
public abstract virtual bool IsGameSessionInProgress
{
get;
}
IsMatchHandlerInitialized
토너먼트 매치 핸들러가 초기화되어 있는지를 확인합니다.
C#
public abstract virtual bool IsMatchHandlerInitialized
{
get;
}
비고
JoinTournamentMatch(TournamentMatch, ITournamentMatchCallbackHandler)를 성공적으로 호출한 이후 true로 설정하기 위함입니다.
LeaveTournamentMatch() 호출 이후에는 false로 설정됩니다.
IsTournamentRunning
토너먼트가 실행중(시작)인지를 확인합니다.
C#
public abstract virtual bool IsTournamentRunning
{
get;
}
IsUserKnockedOut
사용자가 토너먼트에서 떨어졌는지를 확인합니다.
C#
public abstract virtual bool IsUserKnockedOut
{
get;
}
NextEventCountdown
사용자의 다음 결정되는 이벤트까지의 잔여 시간을 확인합니다. (예, 토너먼트 시작 시까지 잔여 시간.)
C#
public abstract virtual TimeSpan NextEventCountdown
{
get;
}
PartyInvites
사용자가 이 토너먼트에 대해 받은 초대를 모두 받습니다.
취소된 초대도 포함되어 있습니다.
C#
public abstract virtual IEnumerable<TournamentPartyInviteNotification> PartyInvites
{
get;
}
비고
사용자 초대를 갱신하기 위해서 (예, 최근에 받은 것을 가져오기 위해) 백본 클라이언트에서 LoadNotifications() 을 호출합니다.
Status
현재의 토너먼트 허브 상태를 가져옵니다.
C#
public abstract virtual TournamentHubStatus Status
{
get;
}
Tournament
이 컨트롤러의 초기화를 위한 토너먼트를 가져옵니다.
C#
public abstract virtual Tournament Tournament
{
get;
}
메소드
IsUserConnectedToMatch(long)
특정 사용자가 토너먼트 매치 룸/로비에 연결되어 있는지를 확인합니다.
C#
public abstract virtual bool IsUserConnectedToMatch(long userId)
파라미터
userId
: 백본 사용자 id.
리턴 값
사용자가 연결되어 있으면 True.
비고
UI에 알려주기 위해 사용할 수 있습니다 (예, 토너먼트 사용자가 룸/로비에 연결됨).
IsUserReadyForMatch(long)
특정 사용자가 토너먼트 매치를 할 준비가 되었음을 확인합니다.
C#
public abstract virtual bool IsUserReadyForMatch(long userId)
파라미터
userId
: 백본 사용자 id.
리턴 값
사용자가 준비되었으면 True.
비고
UI에 알려주기 위해 사용할 수 있습니다 (예, 사용자가 룸/로비에 연결됨, 사용자가 원하는 룸 슬롯에 설정됨 등).
JoinTournamentMatch(TournamentMatch, ITournamentMatchCallbackHandler)
토너먼트 허브에 사용자가 특정 매치에 참가하고 게임 룸/로비에 대한 연결을 시작하도록 알립니다.
또한 게임 룸/로비 처리 API에 대한 인터페이스인 토너먼트 매치 콜백 핸들러(ITournamentMatchCallbackHandler)를 전달해야 합니다(예: 특정 파라미터를 가진 비밀 게임룸 설정).
C#
public abstract virtual void JoinTournamentMatch(Gimmebreak.Backbone.Tournaments.TournamentMatch match, Gimmebreak.Backbone.Tournaments.ITournamentMatchCallbackHandler tournamentMatchHandler)
파라미터
match
: 참여를 하려는 토너먼트 매치 사용자.tournamentMatchHandler
: ITournamentMatchCallbackHandler 인터페이스 룸/로비 처리 API를 구현하는 토너먼트 매치 핸들러.
비고
매치 토너먼트 허브 가입을 요청하면 콜백 OnHubMatchStatusChanged(TournamentHubMatchStatus)를 통해 토너먼트 매치 상태를 받기 시작합니다.
LeaveTournamentMatch()
참여한 토너먼트 매치에서 떠납니다.
C#
public abstract virtual void LeaveTournamentMatch()
비고
매치 토너먼트 허브 퇴장을 요청하면 콜백 OnHubMatchStatusChanged(TournamentHubMatchStatus)를 통해 토너먼트 매치 상태 수신을 중지합니다.
또한 토너먼트 매치 핸들러에게 룸/로비에서 나가라는 메시지가 나타납니다.
RefreshActiveMatch()
UserActiveMatch 데이터를 새로 고침하라는 사용자 요청.
C#
public abstract virtual void RefreshActiveMatch()
SetUserReady()
사용자는 토너먼트에 다음 경기를 치를 준비가 되었음을 알립니다.
토너먼트 허브 상태를 TournamentHubStatus.WaitingForUserReadyConfirmation로 설정하는 경우에 사용합니다.
C#
public abstract virtual void SetUserReady()
비고
거의 매번 사용자가 매치를 마칠 때마다 시스템은 사용자를 즉시 다음 라운드로 이동시키지 않습니다.
또한 사용자에게 자동 정렬이 제공되거나 라운드가 완료될 때 다음 매치 항목으로 이동하는 경우 특정 단계 형식에 따라 달라집니다.
예를 들어 브래킷 설정에서 라운드가 완료되면 당첨 사용자가 앞으로 이동합니다.
예를 들어, 아레나 설정에서 사용자는 SetUserReady()를 호출하지 못한 경우 자동 호출을 받게 됩니다.