Пример #1
0
 // 发送查询命令
 private void Send(TransferCmd tcmd)
 {
     if (client != null && client.Connected)
     {
         client.Send(JsonExtendFun.CoverseJsonString <TransferCmd>(tcmd));
     }
 }
Пример #2
0
        /// <summary>
        /// SocketManager 接收事件
        /// </summary>
        /// <param name="obj"></param>
        private static void Manager_ReceviceDataHandler(object sender, EventArgs e)
        {
            var str = sender as string;

            var tcmd = JsonExtendFun.CoverseJsonObject <TransferCmd>(str);

            if (tcmd == null)
            {
                return;
            }

            var fbfun = (JSoundServerCmd)tcmd.funtion;


            switch (fbfun)
            {
            case JSoundServerCmd.SystemInfo:
                var NewSysValue = JsonExtendFun.CoverseJsonObject <SystemInfo>(tcmd.datas);
                var SysValue    = SimpleIoc.Default.GetInstance <SystemInfo>();
                ViewModelHelper.BindModelValue(ref SysValue, NewSysValue);
                break;

            case JSoundServerCmd.PlayerMessage:

                var NewRPlayers       = JsonExtendFun.CoverseJsonObject <ObservableCollection <XRoomPlyer> >(tcmd.datas);
                var RPlayerViewModels = SimpleIoc.Default.GetInstance <ObservableCollection <RoomPlayerItemViewModel> >();
                ViewModelHelper.SetModelListToSourceVm(RPlayerViewModels, NewRPlayers, "Source", "id");
                break;

            default:
                break;
            }
        }
Пример #3
0
        // 发送操作命令
        public void SendCmd <T>(JSoundClientCmd cmd, T obj)
        {
            TransferCmd tcmd = new TransferCmd()
            {
                devkey  = devKey,
                funtion = (int)cmd,
                datas   = obj != null?JsonExtendFun.CoverseJsonString(obj) : string.Empty
            };

            try
            {
                var nid  = ViewModelHelper.GetPropertyValue(obj, "id");
                var ncmd = ViewModelHelper.GetPropertyValue(obj, "cmd");

                if (nid == null || ncmd == null)
                {
                    return;
                }
                List <TransferCmd> tempitem = new List <TransferCmd>();
                tempitem.AddRange(transferCmds);

                foreach (var item in transferCmds)
                {
                    var _obj = JsonExtendFun.CoverseJsonObject <T>(item.datas);

                    var oid = ViewModelHelper.GetPropertyValue(_obj, "id");

                    var ocmd = ViewModelHelper.GetPropertyValue(_obj, "cmd");



                    if (oid.Equals(nid) && ocmd.Equals(ncmd))
                    {
                        tempitem.Remove(item);
                    }
                }
                transferCmds = new ObservableCollection <TransferCmd>(tempitem);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            transferCmds.Add(tcmd);
        }