public void WriteValue <T>(XObjectRW objectRW, T value) { assert(CanWrite, "set"); if ((object)this is XStaticPropertyInfo <T> typedThis) { typedThis._set(value); } else { _set(XConvert <T, TValue> .Convert(value)); } }
public T ReadValue <T>(XObjectRW objectRW) { assert(CanRead, "get"); if ((object)this is XStructPropertyInfo <TStruct, T> typedThis) { return(typedThis._get(ref Tools.Pointer.Box <TStruct>(objectRW.Address))); } else { return(XConvert <TValue, T> .Convert(_get(ref ((XObjectRW <TStruct>)objectRW).Reference))); } }
public void WriteValue <T>(object obj, T value) { Assert(CanWrite, "set"); if (typeof(T) == typeof(TValue)) { _set(ref GetRef(obj), (TValue)(object)value); return; } _set(ref GetRef(obj), XConvert <TValue> .Convert(value)); }
public void WriteValue <T>(object obj, T value) { Assert(CanWrite, "set"); if (_set is XStaticSetValueHandler <T> __set) { __set(value); return; } _set(XConvert <T, TValue> .Convert(value)); }
public void WriteValue <T>(object obj, T value) { Assert(CanWrite, "set"); if (typeof(T) == typeof(TValue)) { _set(Unsafe.As <T, TValue>(ref value)); return; } _set(XConvert <TValue> .Convert(value)); }
public T ReadValue <T>(object obj) { Assert(CanRead, "get"); var value = _get(ref GetRef(obj)); if (typeof(T) == typeof(TValue)) { return(Unsafe.As <TValue, T>(ref value)); } return(XConvert <T> .Convert(value)); }
public T ReadValue <T>(XObjectRW objectRW) { assert(CanRead, "get"); if ((object)this is XStaticPropertyInfo <T> typedThis) { return(typedThis._get()); } else { return(XConvert <TValue, T> .Convert(_get())); } }
public void WriteValue <T>(object obj, T value) { Assert(CanWrite, "set"); if (_set is XStructSetValueHandler <TStruct, T> __set) { __set(ref GetRef(obj), value); return; } _set(ref GetRef(obj), XConvert <T, TValue> .Convert(value)); }
/// <summary> /// Ответ OE /// </summary> public void MakeAnswer() { StringBuilder sb = new StringBuilder(); StringBuilder sb1 = new StringBuilder(); sb1.AppendFormat("\t<{0} code=\"{1}\">{2}</{0}>", "error", ErrCode, HttpUtility.HtmlEncode(ErrDesc)); if (!string.IsNullOrEmpty(Outtid)) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "transaction", Outtid); } if (Acceptdate != DateTime.MinValue && (State == 6 || State == 10)) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "accept-date", XConvert.AsDate(Acceptdate).Replace('T', ' ')); } if (!string.IsNullOrEmpty(Fio)) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "fio", Fio); } if (!string.IsNullOrEmpty(Opname)) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "opname", Opname); } if (!string.IsNullOrEmpty(Account)) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "account", Account); } if (!string.IsNullOrEmpty(AddInfo)) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "info", AddInfo.Length <= 250 ? HttpUtility.HtmlEncode(AddInfo) : HttpUtility.HtmlEncode(AddInfo.Substring(0, 250))); } if (Recpay != null) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "recpay", XConvert.AsAmount(Recpay.Value)); } if (Balance != null) { sb1.AppendFormat("\r\n\t<{0}>{1}</{0}>", "balance", XConvert.AsAmount(Balance.Value)); } sb.AppendFormat("<{0}>\r\n{1}\r\n</{0}>\r\n", "response", sb1.ToString()); stResponse = sb.ToString(); if (tid > 0) { UpdateState(Tid, state: State, locked: 1); } // Log("Подготовлен ответ:\r\n{0}", stResponse); }
public void SetProperty(Lucene.Net.Documents.Document doc) { if (doc != null) { this.SchoolId = XConvert.ToInt32(doc.Get("SchoolId"), -1); this.Type = (SchoolType)XConvert.ToByte(doc.Get("Type")); this.Name = doc.Get("Name"); this.CnName = doc.Get("CnName"); this.Pinyin = doc.Get("Pinyin"); this.RegionId = XConvert.ToInt32(doc.Get("RegionId"), -1); this.StateId = XConvert.ToInt32(doc.Get("StateId"), -1); this.CityId = XConvert.ToInt32(doc.Get("CityId"), -1); } }
// Update is called once per frame public void Update() { if (null != m_client) { if (bProxy) { if (!m_client.IsProxy) { if (null != OnNetState) { OnNetState(m_client.ProxyState); } bProxy = !bProxy; } return; } if (bLockDelayMsg) { return; } NetComm.Packet msgPk = m_client.ReadData(); if (null != msgPk) { if (null == msgPk.data) { Debug.LogWarning("服务器的数据为空,断开连接"); OnGameNetMessage(0, null, msgPk.bClosed ? 1 : 0); } else { int offset = 0; NetMsg.MsgHeadDef header = XConvert.ToObject <MahjongLobby_SX_Changzhi.Network.Message.NetMsg.MsgHeadDef>(msgPk.data, ref offset); // TODO 查看接收十六进制数据(底层发送十六进制消息) if (MahjongLobby_SX_Changzhi.LobbyContants.isOpenDebugMessage_Onreceive) { //DEBUG.Error(header.MsgType.ToString()); MahjongCommonMethod.Instance.Printbuff(msgPk.data); } OnGameNetMessage(header.MsgType, msgPk.data, msgPk.data.Length); } } } }
public void WriteValue <T>(object obj, T value) { Assert(CanWrite, "set"); if (_set is XClassSetValueHandler <T> ) { var __set = _set as XClassSetValueHandler <T>; __set(obj, value); return; } _set(obj, XConvert <T, TValue> .Convert(value)); }
public void WriteValue <T>(XObjectRW objectRW, T value) { assert(CanWrite, "set"); if ((object)this is XStructPropertyInfo <TStruct, T> typedThis) { typedThis._set(ref ((XObjectRW <TStruct>)objectRW).Reference, value); } else { var tValue = XConvert <T, TValue> .Convert(value); _set(ref ((XObjectRW <TStruct>)objectRW).Reference, tValue); } }
/// <summary> /// 原始发包功能,测试成功 /// </summary> /// <param name="userid"></param> public void NoMsgLoginReqDef(int userid) { BaseMessage.LoginReqDef LoginReqDef = new BaseMessage.LoginReqDef(); LoginReqDef.accountId = 10000; LoginReqDef.serviceId = 1; LoginReqDef.sourceId = 1111; LoginReqDef.token = "0123456789ABCDE"; LoginReqDef.machine = "ABCDEFGH"; Info.UserId = userid; byte[] msg = XConvert.ConvertToByte(LoginReqDef); _gsProxy.notify(BaseMessage.LOGIN_REQ_MSG, msg); }
/// <summary> /// Создание шаблона comparePacket /// </summary> void MakeTemplate() { string format; // Прочитаем шаблон using (StreamReader stream = new StreamReader(Settings.Templates + "comparepacket-" + ProvidersSettings.Mts.Ott + "-" + ProvidersSettings.Mts.Xsd + ".tpl")) { format = stream.ReadToEnd(); } template = string.Format(format, ProvidersSettings.Mts.Timeout, ProvidersSettings.Mts.Contract, XConvert.AsDate(Datefrom), XConvert.AsDate(Dateto), totalPayments, Cur, XConvert.AsAmount(totalSum), XConvert.AsAmount(totalDebt), MakeBody()); }
public virtual void Run(Object state) { TaskState stateInfo = (TaskState)state; // ManualResetEvent[] manualEvents = new ManualResetEvent[64]; Log(Properties.Resources.MsgRedoRunning); Console.WriteLine(Properties.Resources.MsgRedoRunning); // Читать отложенные платежи while (!Canceling) { try { // Добавляем событие отмены в // manualEvents[1] = new ManualResetEvent(false); DoRedo(); } catch (Exception ex) { Log("Redo: {0}\r\n{1}", ex.Message, ex.StackTrace); } // Ожидать 60 сек. Thread.Sleep(60000); } // Завершение дочерних процессов if (processes > 0) { Log("Redo: Процесс {0}[{1}] завершается. Выполняется {2} процессов допроведения", Thread.CurrentThread.ManagedThreadId, Name, processes); Console.WriteLine("{3} Redo: Процесс {0}[{1}] завершается. Выполняется {2} процессов допроведения", Thread.CurrentThread.ManagedThreadId, Name, processes, XConvert.AsDate2(DateTime.Now)); } // Ожидаем допроведения всех платежей while (processes > 0) { Console.WriteLine("{1} Работающих процессов: {0}", processes, XConvert.AsDate2(DateTime.Now)); Log($"{XConvert.AsDate2(DateTime.Now)} Работающих процессов: {processes}"); // Ждем 1 секунду Thread.Sleep(1000); } Console.WriteLine("Redo: Процесс {0} завершен", Name); Log("Redo: Процесс {0} завершен", Name); stateInfo.CancelEvent.Set(); }
//deprecated public void EnterGame() { Debug.Log("EnterGame======================================="); BaseMessage.SitDownReqDef sitDownReq = new BaseMessage.SitDownReqDef(); sitDownReq.iBindUserID = 0; sitDownReq.iTableNum = 0; sitDownReq.usTableNumExtra = 0; var point = new BaseMessage.UserPointLimitDef(); point.iMinPoint = 0; point.iMaxPoint = 0; sitDownReq.userPointLimit = point; byte[] msg = XConvert.ConvertToByte(sitDownReq); _gsProxy.notify(BaseMessage.SITDOWN_REQ_MSG, msg); }
public TTask ReadValue(IValueReader valueReader) { var task = Run(); if (task is TTask ret) { return(ret); } return(XConvert <TTask> .FromObject(task)); async Task Run() { valueReader.DirectRead(); } }
public T ReadValue(IValueReader valueReader) { if (valueReader is IValueReader <T> ) { return(((IValueReader <T>)valueReader).ReadValue()); } var directValue = valueReader.DirectRead(); if (directValue is T || directValue == null) { return((T)directValue); } return(XConvert.FromObject <T>(directValue)); }
public override void SetLackTileKind(TileDef.Kind k) { base.SetLackTileKind(k); Debug.Log("SetLackTileKind:" + k); GameMessage.DingQueDef data = new GameMessage.DingQueDef(); data.cCard = (byte)k; #if USE_MSGPACK3 var serializer = MsgPack.Serialization.MessagePackSerializer.Get <GameMessage.DingQueDef>(); byte[] msg = serializer.PackSingleObject(data); _gsProxy.notifyMP(GameMessage.c2s_DingQueDef, msg); #else byte[] msg = XConvert.ConvertToByte(data); _gsProxy.notify(GameMessage.c2s_DingQueDef, msg); #endif }
// Limited support! // You can only reference methods or fields defined in the class (not in ancestors classes) // Fields and methods stubs are needed for compilation purposes only. // Reflexil will automaticaly map current type, fields or methods to original references. // Happy_BuYu.Lobby.BY_LbMainCommand private void HandleReceiveGiftRes(byte[] pMsg) { Debug.Log("HandleReceiveGiftRes"); GameUtil gutil = new GameUtil(); if (gutil.EnterGame) { BY_LbMainMediator.Instance.m_pLbChooseScenePanel.ClickStartBtn(); } ReceiveGiftResDef receiveGiftResDef = XConvert.ToObject <ReceiveGiftResDef>(pMsg); if (receiveGiftResDef.iResult == 0) { int num = 0; int objectSize = XConvert.GetObjectSize <ReceiveGiftResDef>(); int objectSize2 = XConvert.GetObjectSize <PresentInfo>(); int num2 = objectSize; num = num2; BY_LbPlayerNode bY_LbPlayerNode = GDUtil.myPlay as BY_LbPlayerNode; bY_LbPlayerNode.m_listPresentInfo.Clear(); Debug.Log("msg.iGiftNum" + receiveGiftResDef.iGiftNum); int num3 = PlayerPrefs.GetInt("RECEIVE_GIFT_RECORD_ID" + Happy_BuYu.GlobalVO.BY_GlobalData.m_iUserId); for (int i = 0; i < receiveGiftResDef.iGiftNum; i++) { num = num2; PresentInfo presentInfo = XConvert.ToObject <PresentInfo>(pMsg, ref num); bY_LbPlayerNode.m_listPresentInfo.Add(presentInfo); num2 += objectSize2; int iRecordID = presentInfo.iRecordID; if (iRecordID > num3) { num3 = iRecordID; } } PlayerPrefs.SetInt("RECEIVE_GIFT_RECORD_ID" + Happy_BuYu.GlobalVO.BY_GlobalData.m_iUserId, num3); PlayerPrefs.Save(); if (!Happy_BuYu.GlobalVO.BY_GlobalData.g_bReturnFromGame) { BY_LBGlobalParam.m_iUserInfoStep++; if (BY_LBGlobalParam.m_iUserInfoStep == BY_LBGlobalParam.USER_INFO_STEPS) { BY_LbMainMediator.Instance.CallAuthenRes(); } } this.ShowPresent(); } }
/// <summary> /// Try to get the enum field that defines the given constant. /// </summary> public override bool TryGetEnumConstField(object value, out XFieldDefinition field) { field = null; if (!type.IsEnum || (value == null)) { return(false); } var valueType = value.GetType(); var ilField = type.Fields.FirstOrDefault(x => x.IsStatic && Equals(XConvert.ChangeType(x.Constant, valueType), value)); if (ilField == null) { return(false); } field = Fields.OfType <ILFieldDefinition>().FirstOrDefault(x => x.OriginalField == ilField); return(field != null); }
public void ConvertTest() { const string str = "JXU3MkQ3JXU0RjFGJXU2NjJGJXU0RTE2JXU3NTRDJXU0RTBBJXU2NzAwJXU1RTA1JXU3Njg0JXU0RUJB"; AreEqual(XConvert <string> .Convert(XConvert <byte[]> .Convert(str)), str); AreEqual(XConvert <int> .Convert(XConvert <BigInteger> .Convert(int.MinValue)), int.MinValue); AreEqual(XConvert <BigInteger> .Convert(XConvert <byte[]> .Convert((BigInteger)ulong.MaxValue)), (BigInteger)ulong.MaxValue); AreEqual(XConvert <string> .FromObject(XConvert.ToObject(str, typeof(byte[]))), str); AreEqual(XConvert <int> .FromObject(XConvert.Cast(int.MinValue, typeof(BigInteger))), int.MinValue); AreEqual(XConvert <BigInteger> .FromObject(XConvert <byte[]> .FromObject((BigInteger)ulong.MaxValue)), (BigInteger)ulong.MaxValue); }
public DataTable ReadDataTable() { switch (state) { case ReadState.Table: var dt = new DataTable(); for (int i = 0; i < dbDataReader.FieldCount; i++) { dt.Columns.Add(dbDataReader.GetName(i), dbDataReader.GetFieldType(i)); } while (dbDataReader.Read()) { var row = dt.NewRow(); for (int i = 0; i < dbDataReader.FieldCount; i++) { row[i] = dbDataReader[i]; } dt.Rows.Add(row); } state = ReadState.Finish; return(dt); case ReadState.Row: throw new NotSupportedException(); case ReadState.Value: return(XConvert <DataTable> .FromObject(DirectRead())); default: if (dbDataReader.NextResult()) { goto case ReadState.Table; } throw new ArgumentException("Finish"); } }
/// <summary> /// Сформировать запрос /// </summary> /// <param name="old_state"></param> /// <returns></returns> public new int MakeRequest(int old_state) { try { MD5 md5hash = MD5.Create(); string sign = string.Format("{0}:{1}:{2}:shpItem={3}", XConvert.AsAmount(Amount), Account, Password, "1"); Hash = GetMd5Hash(md5hash, sign).ToUpper(); Log("Signature: {0}", sign); stRequest = string.Format("OutSum={0}&InvId={1}&phone={2}&shpItem=1&SignatureValue={3}", XConvert.AsAmount(Amount), Account, Phone, Hash); return(0); } catch (Exception ex) { RootLog("{0}\r\n{1}", ex.Message, ex.StackTrace); errDesc = ex.Message; errCode = -1; return(-1); } }
/// <summary> /// Локальная реализация MakeCheckRequest /// </summary> /// <returns></returns> public new int MakeRequest(int old_state) { // Сделаем запрос paycheck // Получаем дополнительную информацию о терминале // GetTerminalInfo(terminal); // Log("[CHECK/MakeCheckRequest], Tid={0}, Ph/Acc={1}, Amount={2}, AmountAll={3}, recid={4}, point={5}, type={6}", // Tid, !String.IsNullOrEmpty(Phone) ? Phone : Account, XConvert.AsAmount(Amount), XConvert.AsAmount(AmountAll), Service, Terminal, TerminalType); StringBuilder sb = new StringBuilder(); try { sb.AppendFormat(payCheck, Host, tid, XConvert.AsAmount(amount), service, terminal); if (!string.IsNullOrEmpty(phone)) { sb.AppendFormat("&{0}={1}", HttpUtility.UrlEncode("№ телефона").ToUpper(), phone); } if (!string.IsNullOrEmpty(account)) { sb.AppendFormat("&{0}={1}", HttpUtility.UrlEncode("№ договора").ToUpper(), account); } if (!string.IsNullOrEmpty(number)) { sb.AppendFormat("&{0}={1}", HttpUtility.UrlEncode("филиал").ToUpper(), number); } checkHost = sb.ToString(); } catch (Exception ex) { Log("{0}\r\n{1}", ex.Message, ex.StackTrace); return(-1); } stRequest = ""; Log("[CHECK/MakeCheckRequest] Шаблон запроса сформирован\r\n{0}", checkHost); errCode = 6; errDesc = "Реализация Check не завершена"; return(1); }
public T ReadValue(IValueReader valueReader) { if (valueReader is ValueCopyer copyer && copyer.InternalObject is T ret) { return(ret); } if (typeof(T).IsAssignableFrom(typeof(TValue[]))) { return(TypeHelper.As <TValue[], T>(ValueInterface <TValue[]> .ReadValue(valueReader))); } else if (typeof(T).IsAssignableFrom(typeof(List <TValue>))) { return(TypeHelper.As <List <TValue>, T>(ValueInterface <List <TValue> > .ReadValue(valueReader))); } else { return(XConvert.Convert <TValue[], T>(ValueInterface <TValue[]> .ReadValue(valueReader))); } }
/// <summary> /// Optimize expressions /// </summary> public static void Convert(AstNode ast) { foreach (var node in ast.GetExpressions()) { if ((node.Code == AstCode.Conv_U8) && (node.Arguments[0].Code == AstCode.Ldc_I4)) { var value = node.Arguments[0].Operand; node.Code = AstCode.Ldc_I8; node.Arguments.Clear(); node.Operand = XConvert.ToLong(value) & 0xFFFFFFFFL; } else if ((node.Code == AstCode.Ldc_I4) || (node.Code == AstCode.Ldc_R4)) { var type = node.GetResultType(); if (type.IsWide()) { node.Code = (node.Code == AstCode.Ldc_I4) ? AstCode.Ldc_I8 : AstCode.Ldc_R8; } } } }
public TimeSpan ReadValue(IValueReader valueReader) { if (valueReader is IValueReader <TimeSpan> timeSpanReader) { return(timeSpanReader.ReadValue()); } object directValue = valueReader.DirectRead(); if (directValue is TimeSpan) { return((TimeSpan)directValue); } if (directValue is string) { return(TimeSpan.Parse((string)directValue)); } return(XConvert.FromObject <TimeSpan>(directValue)); }
public DateTimeOffset ReadValue(IValueReader valueReader) { if (valueReader is IValueReader <DateTimeOffset> dateTimeOffsetReader) { return(dateTimeOffsetReader.ReadValue()); } object directValue = valueReader.DirectRead(); if (directValue is DateTimeOffset) { return((DateTimeOffset)directValue); } if (directValue is string) { return(DateTimeOffset.Parse((string)directValue)); } return(XConvert.FromObject <DateTimeOffset>(directValue)); }