Пример #1
0
 IEnumerator NewPipe()
 {
     if (pipeState == PipeState.ON && pipeList.Count != 0)
     {
         yield return(new WaitForSeconds(5.0f));
     }
     if (pipeState == PipeState.ON)
     {
         if (pipePool.Count > 0)
         {
             Debug.Log("new pipe");
             PipeMsg pipeMsg = (PipeMsg)pipePool[0];
             pipePool.RemoveAt(0);
             float y = Random.Range(minY, maxY);
             pipeMsg.pipe.transform.localPosition = new Vector3(-endX, y, 0);
             pipeMsg.pipe.SetActive(true);
             pipeMsg.isPassed = false;
             pipeList.Add(pipeMsg);
             StartCoroutine(NewPipe());
         }
         else
         {
             Debug.LogError("pipePool is null");
         }
     }
 }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type">21/好友 2/群 4/讨论组</param>
        /// <param name="subType"></param>
        /// <param name="sendTime"></param>
        /// <param name="fromQQ"></param>
        /// <param name="msg"></param>
        /// <param name="font"></param>
        public void OnMessage(int type, int subType, int sendTime, long groupID, long fromQQ, string msg, int font)
        {
            // 处理私聊消息。
            // CQX.SendPrivateMessage(fromQQ, String.Format("[{0}]你发的私聊消息是:{1}", CQX.ProxyType, msg));
            // var img = CQX.CQCode_Image(@"C:\Users\Yin\Desktop\图\2015-12-25\修改体验\hint_get_diamond_big.png");
            // CQX.SendPrivateMessage(fromQQ, img);
            // https://download.csdn.net/download/s15100007883/10406823
            var head = "https://download.csdn.net/download/";

            if (msg.Contains("重启") && msg.Contains("鸭"))
            {
                PipeMsg _msg = new PipeMsg();
                _msg.fromGroup  = groupID;
                _msg.fromUrl    = "重启鸭子";
                _msg.fromQQType = type;
                _msg.fromQQ     = fromQQ;
                var _sMsg = JsonConvert.SerializeObject(_msg);
                pipeclient.Send(_sMsg);
                CQX.SendMessage(_msg.fromQQType, _msg.fromGroup, _msg.fromQQ, "满血复活~");
                return;
            }

            if (!msg.Contains(head))
            {
                return;
            }

            var sub = msg.GetAfter(head);
            var st  = sub.IndexOf("/");
            var end = sub.Length;

            if (st < 0)
            {
                return;
            }

            for (int i = 0; i < 12 && i + st + 1 < sub.Length; i++)
            {
                var num = sub[i + st + 1];
                if (num < '0' || num > '9')
                {
                    end = i + st + 1;
                    break;
                }
            }

            var     url  = head + sub.Substring(0, end);
            PipeMsg pMsg = new PipeMsg();

            pMsg.fromGroup  = groupID;
            pMsg.fromUrl    = url;
            pMsg.fromQQType = type;
            pMsg.fromQQ     = fromQQ;
            var s_pMsg = JsonConvert.SerializeObject(pMsg);

            pipeclient.Send(s_pMsg);
        }
Пример #3
0
        private void Pipechanel_msgReceived(object sender, PipeChanel.PipeMsg.PipeMsgEventArgs e)
        {
            PipeMsg msg = JsonConvert.DeserializeObject <PipeMsg>(e.receivedMsg);
            string  str = "";

            if (msg.isDownloadSuccess)
            {
                str += "下载成功: " + msg.downloadFileName;
                str += "\n" + msg.downloadUrl;
            }
            else
            {
                str += msg.dowloadErrorInfo;
            }
            CQX.SendMessage(msg.fromQQType, msg.fromGroup, msg.fromQQ, str);
        }
Пример #4
0
        public static void Send(PipeMsg msg)
        {
            string s_msg = JsonConvert.SerializeObject(msg);

            pipeserver.Send(s_msg);
        }
Пример #5
0
        private static void Pipechanel_msgReceived(object sender, PipeChanel.PipeMsg.PipeMsgEventArgs e)
        {
            PipeMsg msg = JsonConvert.DeserializeObject <PipeMsg>(e.receivedMsg);

            onMessage?.Invoke(msg);
        }