API-ITournamentMatchCallbackHandler
Namespace: Gimmebreak.Backbone.Tournaments
상속: Object → ITournamentMatchCallbackHandler
이 인터페이스는 토너먼트 허브와 게임 룸/로비 핸들링 API 간의 연결을 제공하기 위해 토너먼트 매치 핸들러가 구현하기 위한 것입니다. (예: 특정 매개변수를 가진 개인 게임 룸 설정, 누가 연결되었는지 확인, 게임 세션 시작 등)
그런 다음 이 인터페이스를 구현하는 토너먼트 매치 핸들러를 토너 허브 컨트롤러의 JoinTournamentMatch(TournamentMatch, ITournamentMatchCallbackHandler) 메소드에 전달할 수 있습니다.
이 인터페이스의 목적은 토너먼트 허브와 게임 룸/로비 핸들링 API 간의 정보 교환을 제공하는 것입니다.
C#
public interface ITournamentMatchCallbackHandler
메소드
IsConnectedToGameServerNetwork()
클라이언트가 네트워킹 백엔드에 성공적으로 연결되었는지 확인하는 토너먼트 허브의 콜백.
C#
public abstract virtual bool IsConnectedToGameServerNetwork()
리턴 값
사용자가 연결되었고 주어진 매치에 참여할 준비가 되었다면 True.
IsGameSessionInProgress()
연결된 토너먼트 경기의 게임 세션이 이미 진행 중인지 확인하는 토너먼트 허브의 콜백.
C#
public abstract virtual bool IsGameSessionInProgress()
리턴 값
게임 세션이 진행중이면 True.
IsUserConnectedToMatch(long)
사용자가 이미 로비/룸에 연결되어 있는지를 확인하는 토너먼트 허브의 콜백.
이 메소드는 토너먼트 매치에 연결이 기대되는 모든 사용자에 대해 호출됩니다.
C#
public abstract virtual bool IsUserConnectedToMatch(long userId)
파라미터
userId
: 백본 사용자 id.
리턴 값
사용자가 연결되어 있으면 True.
IsUserReadyForMatch(long)
사용자가 준비되어 있는지를 확인하는 토너먼트 허브의 콜백 (예, 올바른 슬롯으로 이동함).
C#
public abstract virtual bool IsUserReadyForMatch(long userId)
파라미터
userId
: 백본 사용자 id.
리턴 값
사용자가 시작할 준비가 되어 있으면 True.
OnJoinTournamentMatch(Tournament, TournamentMatch, ITournamentMatchController)
토너먼트, 매치와 컨트롤러 객체를 전달하는 토너먼트 허브의 콜백
매치 데이터를 사용하여 올바른 로비/룸에 참여합니다(예: 일치 시크릿을 룸 ID로 사용). 로비/룸의 변경 사항(예: 연결된 새 플레이어, 연결되지 않은 플레이어 등)을 토너먼트 허브에 알리기 위해서 매치 컨트롤러를 사용하십시오.
C#
public abstract virtual void OnJoinTournamentMatch(Gimmebreak.Backbone.Tournaments.Tournament tournament, Gimmebreak.Backbone.Tournaments.TournamentMatch match, Gimmebreak.Backbone.Tournaments.ITournamentMatchController controller)
파라미터
tournament
: 이 매치를 초기화한 토너먼트.match
: 참여를 요청한 토너먼트 매치.controller
: 관계된 토너먼트 허브와 상호작용을 위한 토너먼트 매치 컨트롤러.
비고
룸/로비 API(예: 맵, 모드, 허용된 능력 등)에 대한 특정 매개변수가 필요한 경우 정보를 제공하는 토너먼트 사용자 지정 속성을 사용할 수 있습니다.
이 메소드는 한 번만 호출되므로 OnLeaveTournamentMatch()가 호출될 때까지 룸/로비 참여 절차를 반복하여 연결을 시도해야 합니다.
OnLeaveTournamentMatch()
사용자가 참여한 로비/룸을 떠나야 하는지 알려주는 토너먼트 허브의 콜백.
C#
public abstract virtual void OnLeaveTournamentMatch()
StartGameSession(IEnumerable<TournamentMatch.User>)
즉시 시작을 하기 위한 게임 세션에 요청하는 토너먼트 허브의 콜백.
또한 현재 매치에 성공적으로 체크인 한 사용자들을 전달합니다.
토너먼트 게임 세션을 생성하고 게임을 시작합니다.
IsGameSessionInProgress() 이 true 값을 리턴하기 전까지 여러 번 호출될 수 있습니다.
C#
public abstract virtual void StartGameSession(System.Collections.Generic.IEnumerable<Gimmebreak.Backbone.Tournaments.TournamentMatch.User> checkedInUsers)
파라미터
checkedInUsers
: 매치를 하기 위해 체크인 한 사용자들. (파티의 경우 파티에서 완전히 체크인 한 사용자들만)
비고
이 메소드가 호출될 때, 사용자는 백본 클라이언트에서 CreateGameSession(TournamentMatch.User[], long, byte) 을 초기화해야 합니다.
사용자가 유효한 토너먼트 게임 세션을 받은 이후, 게임 시작을 진행해야 합니다.