示例#1
0
    private void Update()
    {
        if (pendingMessage && currentMessage != null)
        {
            if (!string.IsNullOrEmpty(currentMessage.Body))
            {
                GameObject go = GameObject.Instantiate(messageTemplate, messageParent);
                go.SetActive(true);
                messages.Add(go);

                MessageArj marj = new MessageArj();
                marj.body     = currentMessage.Body;
                marj.time     = DateTime.Now.ToString();
                marj.SentByMe = false;
                messageArchive.Add(marj);

                CA.id = conversationID;
                CA.messages.Add(marj);


                MessageTemplate mt = go.GetComponent <MessageTemplate>();
                mt.cm       = this;
                mt.isSender = false;
                mt.ReceiveMessageXMPP(currentMessage.Body);

                currentMessage = null;
                pendingMessage = false;
            }
        }
    }
示例#2
0
    public void SendMessageXMPP()
    {
        if (!sendingMessage)
        {
            sendingMessage = true;
            string  message = messageContent.text;
            Message msg     = new Message
            {
                Type = Matrix.Xmpp.MessageType.Chat,
                To   = conversationID,
                Body = message
            };
            cli.Send(msg);


            MessageArj marj = new MessageArj();
            marj.body     = message;
            marj.time     = DateTime.Now.ToString();
            marj.SentByMe = true;
            messageArchive.Add(marj);

            CA.id = conversationID;
            CA.messages.Add(marj);

            GameObject go = GameObject.Instantiate(messageTemplate, messageParent);
            go.SetActive(true);
            messages.Add(go);
            MessageTemplate mt = go.GetComponent <MessageTemplate>();
            mt.isSender = true;
            mt.cm       = this;
            mt.SendMessageXMPP(message);
            sendingMessage = false;
        }
    }