// Update is called once per frame void Update() { if (transportTCP.IsConnected()) { //ReceiveReliableData(); } // ReceiveData(); }
void ChattingGUI() { Rect commentRect = new Rect(635, 1020, 520, 30); m_sendComment = GUI.TextField(commentRect, m_sendComment, 15); bool isSent = GUI.Button(new Rect(1165, 1020, 117, 30), "말하기"); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return) { if (m_sendComment == m_prevComment) { isSent = true; m_prevComment = ""; } else { m_prevComment = m_sendComment; } } if (isSent == true) { string message = "[" + DateTime.Now.ToString("HH:mm") + "] " + m_sendComment; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(message); m_transport.Send(buffer, buffer.Length); AddMessage(ref m_message[(m_isServer == true) ? 0 : 1], message); m_sendComment = ""; } if (GUI.Button(new Rect(1820, 1020, 80, 30), "나가기")) { menuPanel.SetActive(true); gamePlayer.SetActive(false); rivalPlayer.SetActive(false); coinImage.SetActive(false); myScore.SetActive(false); rivalScore.SetActive(false); chattingBox.SetActive(false); m_state = GameState.LEAVE; } if (m_transport.IsServer() || m_transport.IsServer() == false && m_transport.IsConnected()) { DispBalloon(ref m_message[0], new Vector2(810.0f, 875.0f), new Vector2(340.0f, 360.0f), Color.cyan, true, 0); } if (m_transport.IsServer() == false || m_transport.IsServer() && m_transport.IsConnected()) { DispBalloon(ref m_message[1], new Vector2(1120.0f, 875.0f), new Vector2(340.0f, 360.0f), Color.green, false, 1); } }
void ChattingGUI() { Rect commentRect = new Rect(220, 450, 300, 30); m_sendComment = GUI.TextField(commentRect, m_sendComment, 15); bool isSent = GUI.Button(new Rect(530, 450, 100, 30), "しゃべる"); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return) { if (m_sendComment == m_prevComment) { isSent = true; m_prevComment = ""; } else { m_prevComment = m_sendComment; } } if (isSent == true) { string message = "[" + DateTime.Now.ToString("HH:mm:ss") + "] " + m_sendComment; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(message); m_transport.Send(buffer, buffer.Length); AddMessage(ref m_message[(m_isServer == true)? 0 : 1], message); m_sendComment = ""; } if (GUI.Button(new Rect(700, 560, 80, 30), "退出")) { m_state = ChatState.LEAVE; } // とうふやさん(サーバ側)のメッセージ表示. if (m_transport.IsServer() || m_transport.IsServer() == false && m_transport.IsConnected()) { DispBalloon(ref m_message[0], new Vector2(200.0f, 200.0f), new Vector2(340.0f, 360.0f), Color.cyan, true); GUI.DrawTexture(new Rect(50.0f, 370.0f, 145.0f, 200.0f), this.texture_tofu); } if (m_transport.IsServer() == false || m_transport.IsServer() && m_transport.IsConnected()) { // だいずやさんの(クライアント側)のメッセージ表示. DispBalloon(ref m_message[1], new Vector2(600.0f, 200.0f), new Vector2(340.0f, 360.0f), Color.green, false); GUI.DrawTexture(new Rect(600.0f, 370.0f, 145.0f, 200.0f), this.texture_daizu); } }
void ChattingGUI() { Rect commentRect = new Rect(220, 450, 300, 30); m_sendComment = GUI.TextField(commentRect, m_sendComment, 15); bool isSent = GUI.Button(new Rect(530, 450, 100, 30), "말하기"); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return) { if (m_sendComment == m_prevComment) { isSent = true; m_prevComment = ""; } else { m_prevComment = m_sendComment; } } if (isSent == true) { string message = "[" + DateTime.Now.ToString("HH:mm:ss") + "] " + m_sendComment; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(message); m_transport.Send(buffer, buffer.Length); AddMessage(ref m_message[(m_isServer == true)? 0 : 1], message); m_sendComment = ""; } if (GUI.Button(new Rect(700, 560, 80, 30), "나가기")) { m_state = ChatState.LEAVE; } // 두부장수(서버 측)이 메시지 표시. if (m_transport.IsServer() || //내가 서버거나 m_transport.IsServer() == false && m_transport.IsConnected()) //클라이언트라면 서버에 붙었거나 { DispBalloon(ref m_message[0], new Vector2(200.0f, 200.0f), new Vector2(340.0f, 360.0f), Color.cyan, true); GUI.DrawTexture(new Rect(50.0f, 370.0f, 145.0f, 200.0f), this.texture_tofu); } if (m_transport.IsServer() == false || //내가 클라이언트이거나 m_transport.IsServer() && m_transport.IsConnected()) //서버라면 클라이언트가 붙었다면 // 콩장수의(클라이언트 측) 메시지 표시. { DispBalloon(ref m_message[1], new Vector2(600.0f, 200.0f), new Vector2(340.0f, 360.0f), Color.green, false); GUI.DrawTexture(new Rect(600.0f, 370.0f, 145.0f, 200.0f), this.texture_daizu); } }
//네트워크 상태 획득. public bool IsConnected() { #if EMURATE_INPUT return(true); // 디버그 중엔 접속한 거로 위장합니다. #endif return(m_network.IsConnected()); }
void OnUpdateConnection() { if (m_transport.IsConnected() == true) { m_mode = Mode.Game; GameObject game = GameObject.Find("TicTacToe"); game.GetComponent <TicTacToe>().GameStart(); } }
// Update is called once per frame void Update() { if (m_transport != null && m_transport.IsConnected() == true) { byte[] buffer = new byte[m_mtu]; int recvSize = m_transport.Receive(ref buffer, buffer.Length); if (recvSize > 0) { string message = System.Text.Encoding.UTF8.GetString(buffer); Debug.Log(message); } } }
void UpdateLeave() { if (m_isServer == true) { m_transport.StopServer(); } else { if (m_transport.IsConnected()) { m_transport.Disconnect(); } } m_roomState = RoomState.SELECT_HOST; m_messages.Clear(); }
void ChattingGUI() { Rect commentRect = new Rect(10, 250, 100, 30); m_sendComment = GUI.TextField(commentRect, m_sendComment, 15); bool isSent = GUI.Button(new Rect(110, 250, 100, 30), "말하기"); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return) { if (m_sendComment == m_prevComment) { isSent = true; m_prevComment = ""; } else { m_prevComment = m_sendComment; } } if (isSent == true) { string message = "[" + DateTime.Now.ToString("HH:mm:ss") + "] " + m_sendComment; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(message); m_transport.Send(buffer, buffer.Length); AddMessage(ref m_message[(m_isServer == true)? 0 : 1], message); m_sendComment = ""; } if (serv == 1) { if (GUI.Button(new Rect(110, 280, 100, 30), " 게임시작")) { //m_state = ChatState.LEAVE; Network.InitializeServer(2, m_port, false); } } if (cli == 1) { if (GUI.Button(new Rect(110, 280, 100, 30), " 게임참가")) { Network.Connect(m_hostAddress, m_port); } } if (exit == 0) { if (GUI.Button(new Rect(120, 360, 80, 30), "나가기")) { m_state = ChatState.LEAVE; } } // 서버 메지 표시. if (m_transport.IsServer() || m_transport.IsServer() == false && m_transport.IsConnected()) { DispBalloon(ref m_message[0], new Vector2(180.0f, 200.0f), new Vector2(340.0f, 360.0f), Color.cyan, true); } if (m_transport.IsServer() == false || m_transport.IsServer() && m_transport.IsConnected()) { //클라이언트가 말하는 메시지 표시. DispBalloon(ref m_message[1], new Vector2(300.0f, 200.0f), new Vector2(340.0f, 360.0f), Color.green, false); } }
// Update is called once per frame void Update() { #if USE_TRANSPORT_TCP if (m_transport != null && m_transport.IsConnected() == true) { #else if (m_transport != null) { #endif byte[] buffer = new byte[m_mtu]; int recvSize = m_transport.Receive(ref buffer, buffer.Length); if (recvSize > 0) { string message = System.Text.Encoding.UTF8.GetString(buffer); Debug.Log(message); } } } void OnGUI() { if (isSelected == false) { OnGUISelectHost(); } else { if (m_transport.IsServer() == true) { OnGUIServer(); } else { OnGUIClient(); } } } void OnGUISelectHost() { #if USE_TRANSPORT_TCP if (GUI.Button(new Rect(20, 40, 150, 20), "Launch server.")) { #else if (GUI.Button(new Rect(20, 40, 150, 20), "Launch Listener.")) { #endif m_transport.StartServer(m_port, 1); isSelected = true; } // 클라이언트를 선택했을 때 접속할 서버 주소를 입력합니다. m_strings = GUI.TextField(new Rect(20, 100, 200, 20), m_strings); #if USE_TRANSPORT_TCP if (GUI.Button(new Rect(20, 70, 150, 20), "Connect to server")) { #else if (GUI.Button(new Rect(20, 70, 150, 20), "Connect to terminal")) { #endif m_transport.Connect(m_strings, m_port); isSelected = true; m_strings = ""; } } void OnGUIServer() { #if USE_TRANSPORT_TCP if (GUI.Button(new Rect(20, 60, 150, 20), "Stop server")) { #else if (GUI.Button(new Rect(20, 60, 150, 20), "Stop Listener")) { #endif m_transport.StopServer(); isSelected = false; m_strings = ""; } } void OnGUIClient() { // 클라이언트를 선택했을 때 접속할 서버의 주소를 입력합니다. if (GUI.Button(new Rect(20, 70, 150, 20), "Send message")) { byte[] buffer = System.Text.Encoding.UTF8.GetBytes("Hellow, this is client."); m_transport.Send(buffer, buffer.Length); } if (GUI.Button(new Rect(20, 100, 150, 20), "Disconnect")) { m_transport.Disconnect(); isSelected = false; m_strings = ""; } } }