Ejemplo n.º 1
0
 private static void ExceptionListener(string message, EMessageType messageType)
 {
     if (messageType == EMessageType.Error)
     {
         Debug.LogError(message);
     }
     else
     {
         Debug.Log($"{messageType.ToString()}:\n {message}");
     }
 }
Ejemplo n.º 2
0
            public override string ToString()
            {
                string desc = "Type:" + mode.ToString();

                for (int idx = 1; idx < actions.Length; idx++)
                {
                    desc += string.Format("\n[{0}] {1}:{2}{3} ({4})",
                                          idx,
                                          actions[idx].buttonType,
                                          actions[idx].buttonColor,
                                          actions[idx].isDisabled ? ":Disabled" : "",
                                          (EButtonPos)idx);
                }

                return(desc);
            }
Ejemplo n.º 3
0
        /// <summary>
        /// 接收消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMessageRecv(object sender, CMQTT.CMessageArgs e)
        {
            try
            {
                if (!_recieveTopics.ContainsKey(e.topic))
                {
                    OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, "主题不存在"));
                    return;
                }

                EMessageType msgType = _recieveTopics[e.topic];

                switch (msgType)
                {
                case EMessageType.广播指令:      //请求指示
                    CMessage <CData_Cmd> cmd_RPT = CJSon.Deserialize <CMessage <CData_Cmd> >(e.message);
                    OnRPTCmdArgs.OnEvented(new CCmdArgs(e.topic, e.message, cmd_RPT));
                    break;

                case EMessageType.应答指令:      //应答指令
                    CMessage <CData_Cmd> cmd_REQ = CJSon.Deserialize <CMessage <CData_Cmd> >(e.message);
                    OnREQCmdArgs.OnEvented(new CCmdArgs(e.topic, e.message, cmd_REQ));
                    break;

                case EMessageType.状态消息:
                    CMessage <CData_Status> status_data = CJSon.Deserialize <CMessage <CData_Status> >(e.message);
                    OnStatusArgs.OnEvented(new CStatusArgs(e.topic, e.message, status_data));
                    break;

                case EMessageType.报警消息:
                    break;

                case EMessageType.抽样消息:
                    break;

                default:
                    break;
                }

                OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, false, msgType.ToString()));
            }
            catch (Exception ex)
            {
                OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, ex.ToString()));
            }
        }
Ejemplo n.º 4
0
 public static ClientNotificationMessageModel CreateNotificationMessage(string content, EMessageType type)
 {
     return new ClientNotificationMessageModel() { Content = content, MessageType = type.ToString() };
 }
Ejemplo n.º 5
0
 public void ShowMessage(string message, EMessageType type = EMessageType.Alert)
 {
     Console.WriteLine(string.Format("{0} {1}", message, type.ToString()));
 }
Ejemplo n.º 6
0
 public void ShowMessage(string message, EMessageType type = EMessageType.Alert)
 {
     Console.WriteLine(string.Format("{0} {1}", message, type.ToString()));
 }
Ejemplo n.º 7
0
        public void SendMessage(string[] args, EMessageType messageType)
        {
            DiscordWebhook webhook = configuration.Webhooks.FirstOrDefault(x => x.WebhookType == messageType.ToString());

            if (webhook == null || string.IsNullOrEmpty(webhook.WebhookUrl))
            {
                return;
            }

            List <Field> fields = new List <Field>();

            string[] array = webhook.MessageFormat.Split(new string[] { ": ", ", " }, StringSplitOptions.RemoveEmptyEntries);
            int      num   = 0;

            while (num < array.Length - 1)
            {
                string[] arr = array.Skip(num).Take(2).ToArray();

                string value = arr[1].Replace("{name}", args[0]).Replace("{steamid}", args[1]).Replace("{punisher}", args[2]);

                if (messageType != EMessageType.Unban)
                {
                    value = value.Replace("{reason}", args[3]);
                }
                if (messageType == EMessageType.Ban)
                {
                    value = value.Replace("{duration}", args[4]);
                }

                Field field = new Field(arr[0], value, true);

                fields.Add(field);
                num += 2;
            }

            DiscordWebhookMessage msg = new DiscordWebhookMessage();

            msg.embeds = new List <Embed>()
            {
                new Embed(fields)
            };

            using (WebClient wc = new WebClient())
            {
                wc.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                wc.UploadString(webhook.WebhookUrl, JsonConvert.SerializeObject(msg));
            }
        }
Ejemplo n.º 8
0
        public void SendMessage(string content, EMessageType messageType)
        {
            DiscordWebhook webhook = configuration.Webhooks.FirstOrDefault(x => x.WebhookType == messageType.ToString());

            if (webhook == null || string.IsNullOrEmpty(webhook.WebhookUrl))
            {
                return;
            }

            DiscordWebhookMessage msg = new DiscordWebhookMessage();

            msg.embeds = new List <Embed>()
            {
                new Embed(content, Convert.ToInt32(webhook.WebhookColor, 16))
            };

            using (WebClient wc = new WebClient())
            {
                wc.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                wc.UploadString(webhook.WebhookUrl, JsonConvert.SerializeObject(msg));
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 接收消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMessageRecv(object sender, CMQTT.CMessageArgs e)
        {
            try
            {
                if (!_recieveTopics.ContainsKey(e.topic))
                {
                    OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, "主题不存在"));
                    return;
                }

                CMessage <CData_Cmd> message = CJSon.Deserialize <CMessage <CData_Cmd> >(e.message);

                EMessageType msgType = _recieveTopics[e.topic];

                //解析设备编号

                List <CData_Cmd> data = new List <CData_Cmd>();

                for (int i = 0; i < message.Data.Count; i++)
                {
                    if (message.Data[i].ID == "-1")  //广播设备编号
                    {
                        for (int z = 0; z < _devices.Count; z++)
                        {
                            data.Add(new CData_Cmd()
                            {
                                ID      = _devices[i].idNo,
                                Name    = _devices[i].Name,
                                CmdName = message.Data[i].CmdName,
                                CmdType = message.Data[i].CmdType,
                                CmdInfo = message.Data[i].CmdInfo,
                                Remark1 = message.Data[i].Remark1,
                                Remark2 = message.Data[i].Remark2
                            });
                        }
                        break;
                    }
                    else if (IsDeviceId(message.Data[i].ID))  //指定设备编号
                    {
                        data.Add(new CData_Cmd()
                        {
                            ID      = _devices[i].idNo,
                            Name    = _devices[i].Name,
                            CmdName = message.Data[i].CmdName,
                            CmdType = message.Data[i].CmdType,
                            CmdInfo = message.Data[i].CmdInfo,
                            Remark1 = message.Data[i].Remark1,
                            Remark2 = message.Data[i].Remark2
                        });
                    }
                }

                if (data.Count == 0)
                {
                    OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, false, "NULL"));
                    return;
                }

                CMessage <CData_Cmd> data_cmd = new CMessage <CData_Cmd>();

                data_cmd.Header = message.Header;

                data_cmd.Data = data;

                string msg = CJSon.Serializer <List <CData_Cmd> >(data);

                if (msgType == EMessageType.广播指令)  //接收主控端指令指示
                {
                    OnCmdRPTArgs.OnEvented(new CCmdArgs(e.topic, msg, data_cmd));
                }
                else if (msgType == EMessageType.应答指令)  //接收主端控制指令
                {
                    OnCmdREQArgs.OnEvented(new CCmdArgs(e.topic, msg, data_cmd));
                }

                OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, false, msgType.ToString()));
            }
            catch (Exception ex)
            {
                OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, ex.ToString()));
            }
        }
Ejemplo n.º 10
0
 public override string ToString()
 {
     return(string.Format("[{0}] {1}", Type.ToString(), Value.ToString()));
 }