IEnumerator ShowMessage(AcceptDeclineMessage acceptDeclineMessage) { m_CG.alpha = 0f; while (m_CG.alpha < 1) { m_CG.alpha += FadeSpeed * Time.deltaTime; yield return(0); } LatestDecision = Decision.Pending; txtContent.text = acceptDeclineMessage.Content; while (LatestDecision == Decision.Pending) { yield return(0); } if (LatestDecision == Decision.Accept) { acceptDeclineMessage.Callback(acceptDeclineMessage.Key); } m_CG.alpha = 1f; while (m_CG.alpha > 0) { m_CG.alpha -= FadeSpeed * Time.deltaTime; yield return(0); } }
public void ConnectCallback(IAsyncResult ar) { Socket client = (Socket)ar.AsyncState; try { client.EndConnect(ar); } catch (Exception e) // TODO: Narrower catch. Check what it throws and when { Console.WriteLine(e); } if (!client.Connected) { OnDisconnect(); Actions.HandleBugException(new NoConnectionException(), "Could not establish connection."); return; } RequestConnectMessage msg = new RequestConnectMessage(this.Model.Username, this.Model.id); string strMsg = msg.Serialize(); client.Send(Encoding.UTF8.GetBytes(strMsg)); AcceptDeclineMessage acceptDeclineMessage = (AcceptDeclineMessage)JsonConvert.DeserializeObject(ReceiveMessage(client), typeof(AcceptDeclineMessage)); if (acceptDeclineMessage.IsAccepted) { string ip = client.RemoteEndPoint.ToString(); // TODO: change port to RequestConnectMessage.Port setCurrentConnection(acceptDeclineMessage.id, acceptDeclineMessage.Sender, ip); StartRecieve(client); } else { OnDisconnect(); Actions.HandleBugException(new NoConnectionException(), "Other user did not accept."); } }
private void SendAcceptDeclineMessage(Socket s, bool IsAccepted) { AcceptDeclineMessage msg = new AcceptDeclineMessage(IsAccepted, this.Model.Username, this.Model.id); s.Send(Encoding.UTF8.GetBytes(msg.Serialize())); }