Example #1
0
        public void Awake()
        {
            Log.Print("JEngine顺便解决了,无法pb序列化List<热更类型>和序列化反序列化热更enum的问题");
            var pbtest = new PBTest()
            {
                a = new List <HotData>()
                {
                    new HotData()
                    {
                        v = 1,
                        k = "第一个"
                    },
                    new HotData()
                    {
                        v = 2,
                        k = "第二个"
                    },
                },
                label = PBTest.Label.LABEL_OPTIONAL
            };

            Log.Print("需要注意的是,得注册你pb序列化的Type,一次即可,用StringifyHelper.ProtoSerialize会自动注册,但是注册的类型内的List<T>的T需要自己手动注册");
            Log.Print("比如这里,PBTest内有个List<HotData>,就需要注册HotData,用JEngine.Core.ProtoTypeRegister.Register<HotData>();即可");
            JEngine.Core.ProtoTypeRegister.Register <HotData>();
            var bytes = StringifyHelper.ProtoSerialize(pbtest);

            Log.Print($"序列化后的byte[]长度:{bytes.Length}");
            Log.Print("开始反序列化");
            var result = StringifyHelper.ProtoDeSerialize <PBTest>(bytes);

            Log.Print("反序列化成功,现在我们打印一下反序列化后的类型的a字段,也就是List<HotData>字段");
            Log.Print(string.Join(",", result.a));
            Log.Print("反序列化成功,现在我们打印一下反序列化后的类型的label字段,也就是热更的enum");
            Log.Print(result.label);
        }
Example #2
0
        public void Awake()
        {
            Log.Print("JEngine顺便解决了,无法pb序列化List<热更类型>和序列化反序列化热更enum的问题");
            var pbtest = new PBTest()
            {
                a = new List <HotData>()
                {
                    new HotData()
                    {
                        v = 1,
                        k = "第一个"
                    },
                    new HotData()
                    {
                        v = 2,
                        k = "第二个"
                    },
                },
                label = PBTest.Label.LABEL_OPTIONAL
            };
            var bytes = StringifyHelper.ProtoSerialize(pbtest);

            Log.Print($"序列化后的byte[]长度:{bytes.Length}");
            Log.Print("开始反序列化");
            var result = StringifyHelper.ProtoDeSerialize <PBTest>(bytes);

            Log.Print("反序列化成功,现在我们打印一下反序列化后的类型的a字段,也就是List<HotData>字段");
            Log.Print(string.Join(",", result.a));
            Log.Print("反序列化成功,现在我们打印一下反序列化后的类型的label字段,也就是热更的enum");
            Log.Print(result.label);
        }
Example #3
0
 public void SendToServerAsProtobuf <T>(T Data) where T : class
 {
     socket.socket.Send(StringifyHelper.ProtoSerialize(Data));
 }
Example #4
0
 public void SendToServerAsJson <T>(T Data)
 {
     socket.socket.Send(StringifyHelper.JSONSerliaze(Data));
 }
Example #5
0
 public void MethodC(DataClass d)
 {
     Log.Print("Class1: MethodC:dataClass的Json字符串是:" + StringifyHelper.JSONSerliaze(d));
 }