Beispiel #1
0
    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()));
        }