/************************************** * CallBack 방접속 실패시 * parm (retrunCode : ? , message : ?) *****************************************/ public override void OnJoinRoomFailed(short returnCode, string message) { //방참가 실패 joinStatus = NetStatus.JoinRoom; EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, false)); Debug.Log(message); }
/***************************************** * 로비 접속 시도 *****************************************/ public void JoinLobby() { joinStatus = NetStatus.JoinLobby; if (PhotonNetwork.JoinLobby()) { EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, true)); } else { EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, false)); } }
/******************************* * 서버 접속 시도 *******************************/ public void Connect() { joinStatus = NetStatus.JoinServer; if (PhotonNetwork.ConnectUsingSettings()) { EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, true)); } else { EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, false)); } }
/******************************** * 방접속 성공 CallBack **********************************/ public override void OnJoinedRoom() { joinStatus = NetStatus.JoinRoom; EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, true)); if (!isAbleNickName(PhotonNetwork.NickName)) //닉 중복방 접속 불가 { //todo.. 방에 중복닉 알림 Debug.Log("중복 닉 있네"); LeaveRoom(); } }
private void onConnect(IAsyncResult ar) { try { clientSocket.EndConnect(ar); ConnectEvent?.Invoke(); startListen(); } catch (Exception ex) { LogEvent("Error: Unable to connect (NetClient.onConnect).\r\n" + ex); Disconnect("Connection failed. See log for details."); } }
private void Socket_Connect(IAsyncResult ar) { try { lock (this) { try { if (Socket == null) { return; } Socket.EndConnect(ar); } catch (Exception) { // Nothing to do. } Action <int> resultHandler = (ar.AsyncState as Action <int>); if (Socket.Connected == true) { Activated?.Invoke(this); if (resultHandler != null) { resultHandler(AegisResult.Ok); } else { SpinWorker.Dispatch(() => { EventConnect?.Invoke(new IOEventResult(this, IOEventType.Connect, AegisResult.Ok)); }); } _method.WaitForReceive(); } else { Socket.Close(); Socket = null; if (resultHandler != null) { resultHandler(AegisResult.ConnectionFailed); } else { SpinWorker.Dispatch(() => { EventConnect?.Invoke(new IOEventResult(this, IOEventType.Accept, AegisResult.ConnectionFailed)); }); } } } } catch (Exception e) { Logger.Err(LogMask.Aegis, e.ToString()); } }
/******************************** * Callback * 방 생성 성공시 호출 ************************************/ public override void OnCreatedRoom() { joinStatus = NetStatus.CreateRoom; EventConnect?.Invoke(new NetStatusEventMsg(joinStatus, true)); }