/// <summary> /// 转换头部 /// </summary> /// <returns></returns> byte[] ConvertNetHeader(ClientHeader header) { List <byte> buffer = new List <byte>(); Type tp = header.GetType(); System.Reflection.FieldInfo[] infos = tp.GetFields(); object[] obs = new object[infos.Length]; for (int i = 0; i < infos.Length; i += 1) { // obs[i] = infos[i].GetValue(header as object); var bs = BitConverter.GetBytes((uint)obs[i]); buffer.AddRange(bs); } return(buffer.ToArray()); }
// Start is called before the first frame update void Start() { // var obj = new object[] // { // new char[] // { // 'a', // '增', // '怕', // '%' // }, // }; LogTool.Instance.ToStringAll(BitConverter.GetBytes((Int16)(50))); ClientHeader header = new ClientHeader(); SerializableStructAttribute[] objects = (SerializableStructAttribute[])header.GetType() .GetCustomAttributes(typeof(SerializableStructAttribute), false); foreach (var VARIABLE in objects) { Debug.Log(VARIABLE); } EventManager.Instance.AddEventAction("EVENT.NET.MESSAGE", (msg) => { SMessage m = msg as SMessage; print(m.Header.MessageID); EventManager.Instance.Call($"EVENT.NET.MESSAGE.{m.Header.MessageID}", 1.5); }); // // var bs = NetPackData.pack_all(obj); //// //// LogTool.Instance.ToStringAll((byte)('a')); //// LogTool.Instance.ToStringAll(BitConverter.GetBytes(false)); //// LogTool.Instance.ToStringAll(bs); // // var obj_oo = NetUnPackData.unpack_all(bs); // LogTool.Instance.ToStringAll(obj_oo); // .Instance.LogBytes(bs); }