JoinGameServer
public bool JoinGameServer(string serverAddress, string serverPort, bool isReconnect, out ErrorInfo errorInfo);
파라미터
Value | Type | Description |
---|---|---|
serverAddress | string | 인게임 서버 주소 (IsGameRoomActivate 전달받은 서버 주소) |
serverPort | ushort | 인게임 서버 포트 (IsGameRoomActivate 전달받은 서버 포트) |
isReconnect | bool | 재접속 여부 (true) |
errorInfo | ErrorInfo | 성공/실패 정보 |
설명
유저가 게임중이던 게임방에 재접속을 시도합니다.
- 세번째 isReconnect를 true로 주어야 정상적으로 재접속할 수 있습니다.
- 해당 함수가 true로 리턴되면 인게임 서버와 소켓연결에 성공한 것 입니다.
실제 재접속은 OnSessionJoinInServer이벤트가 호출되야 완료된 것 입니다.재접속 성공했을 때 호출되는 이벤트 관련해서는 인게임 서버 접속 문서를 확인해주세요.
- 인게임 서버 접속과 동시에 게임방에 재접속 됩니다.
JoinGameRoom 함수를 호출할 필요가 없고, JoinGameRoom 함수 호출 시 InvalidOperation에러가 발생합니다.
Example
var bro = Backend.Match.IsGameRoomActivate();
var roomInfo = bro.GetReturnValueToJSON();
var addr = roomInfo["serverPublicHostName"].ToString();
var port = Convert.ToUInt16(roomInfo["serverPort"].ToString());
ErrorInfo errorInfo = null;
if(JoinGameServer(addr, port, true, out errorInfo) == false)
{
// 에러확인
return;
}
OnSessionOnline
public MatchInGameOnlineSessionEventHandler OnSessionOnline;
전달인자
Value | Type | Description |
---|---|---|
args | MatchInGameSessionEventArgs | 재접속한 세션 정보 |
MatchInGameSessionEventArgs
Value | Type | Description |
---|---|---|
ErrInfo | ErrorCode | 에러 정보 |
Reason | string | 에러 정보 |
GameRecord | MatchUserGameRecord | 세션의 정보 (세션ID, 닉네임, 전적 등) |
설명
다른 유저가 게임방에 재접속 성공했을 경우 호출되는 이벤트 핸들러입니다.
자기 자신이 게임방에 재접속 성공했을 때는 호출되지 않습니다.
Example
Backend.Match.OnSessionOnline += (args) => {
// TODO
};
ArgumentCase
다른유저가 재접속 성공했을 경우
ErrInfo : ErrorCode.NetworkOnline
Reason : "Session Reconnect"
GameRecord : "세션의 정보"