public static void AddExtends() { // Vector4 exporter ExporterFunc <Vector4> vector4Exporter = new ExporterFunc <Vector4>(ExportVector4); JsonMapper.RegisterExporter <Vector4>(vector4Exporter); // Vector3 exporter ExporterFunc <Vector3> vector3Exporter = new ExporterFunc <Vector3>(ExportVector3); JsonMapper.RegisterExporter <Vector3>(vector3Exporter); // Vector2 exporter ExporterFunc <Vector2> vector2Exporter = new ExporterFunc <Vector2>(ExportVector2); JsonMapper.RegisterExporter <Vector2>(vector2Exporter); ExporterFunc <Quaternion> quaternionExporter = new ExporterFunc <Quaternion>(ExportQuaternion); JsonMapper.RegisterExporter <Quaternion>(quaternionExporter); // // float to double // ExporterFunc<float> float2double = new ExporterFunc<float>(JsonExtend.float2double); // JsonMapper.RegisterExporter<float>(float2double); // // // double to float // ImporterFunc<double, Single> double2float = new ImporterFunc<double, Single>(JsonExtend.double2float); // JsonMapper.RegisterImporter<double, Single>(double2float); }
public static void AddExtentds() { // Rect exporter ExporterFunc <UnityEngine.Rect> rectExporter = new ExporterFunc <UnityEngine.Rect>(JsonExtend.rectexp); JsonMapper.RegisterExporter <UnityEngine.Rect>(rectExporter); // UnityEngine.Color exporter ExporterFunc <UnityEngine.Color> colorExporter = new ExporterFunc <UnityEngine.Color>(JsonExtend.colorexp); JsonMapper.RegisterExporter <UnityEngine.Color>(colorExporter); // UnityEngine.GameObject exporter ExporterFunc <UnityEngine.GameObject> gameObjectExporter = new ExporterFunc <UnityEngine.GameObject>(JsonExtend.gameObjexp); JsonMapper.RegisterExporter <UnityEngine.GameObject>(gameObjectExporter); // UnityEngine.Quaternion exporter ExporterFunc <UnityEngine.Quaternion> quaternionExporter = new ExporterFunc <UnityEngine.Quaternion>(JsonExtend.quaternionexp); JsonMapper.RegisterExporter <UnityEngine.Quaternion>(quaternionExporter); // UnityEngine.Object exporter ExporterFunc <UnityEngine.Object> objectExporter = new ExporterFunc <UnityEngine.Object>(JsonExtend.objectexp); JsonMapper.RegisterExporter <UnityEngine.Object>(objectExporter); // Vector4 exporter ExporterFunc <Vector4> vector4Exporter = new ExporterFunc <Vector4>(JsonExtend.vector4exp); JsonMapper.RegisterExporter <Vector4>(vector4Exporter); // Vector3 exporter ExporterFunc <Vector3> vector3Exporter = new ExporterFunc <Vector3>(JsonExtend.vector3exp); JsonMapper.RegisterExporter <Vector3>(vector3Exporter); // Vector2 exporter ExporterFunc <Vector2> vector2Exporter = new ExporterFunc <Vector2>(JsonExtend.vector2exp); JsonMapper.RegisterExporter <Vector2>(vector2Exporter); // float to double ExporterFunc <float> float2double = new ExporterFunc <float>(JsonExtend.float2double); JsonMapper.RegisterExporter <float>(float2double); // double to float ImporterFunc <double, Single> double2float = new ImporterFunc <double, Single>(JsonExtend.double2float); JsonMapper.RegisterImporter <double, Single>(double2float); }
public static void AddExtentds() { // Vector4 exporter ExporterFunc <Vector4> vector4Exporter = new ExporterFunc <Vector4>(JsonExtend.vector4exp); JsonMapper.RegisterExporter <Vector4>(vector4Exporter); // Vector3 exporter ExporterFunc <Vector3> vector3Exporter = new ExporterFunc <Vector3>(JsonExtend.vector3exp); JsonMapper.RegisterExporter <Vector3>(vector3Exporter); // Vector2 exporter ExporterFunc <Vector2> vector2Exporter = new ExporterFunc <Vector2>(JsonExtend.vector2exp); JsonMapper.RegisterExporter <Vector2>(vector2Exporter); // float to double ExporterFunc <float> float2double = new ExporterFunc <float>(JsonExtend.float2double); JsonMapper.RegisterExporter <float>(float2double); // double to float ImporterFunc <double, Single> double2float = new ImporterFunc <double, Single>(JsonExtend.double2float); JsonMapper.RegisterImporter <double, Single>(double2float); // string to vector3 ImporterFunc <string, Vector3> string2vector3 = new ImporterFunc <string, Vector3>(JsonExtend.string2vector3); JsonMapper.RegisterImporter <string, Vector3>(string2vector3); // string to int ImporterFunc <string, int> string2int = new ImporterFunc <string, int>(JsonExtend.string2int); JsonMapper.RegisterImporter <string, int>(string2int); JsonMapper.RegisterImporter <int, long>((int value) => { return((long)value); }); JsonMapper.RegisterImporter <uint, Int64>((uint value) => { return((Int64)value); }); }
public static void Register() { // 注册Type类型的Exporter JsonMapper.RegisterExporter <Type>((v, w) => { w.Write(v.FullName); }); JsonMapper.RegisterImporter <string, Type>((s) => { return(Type.GetType(s)); }); // 注册Vector2类型的Exporter Action <UnityEngine.Vector2, JsonWriter> writeVector2 = (v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteObjectEnd(); }; JsonMapper.RegisterExporter <UnityEngine.Vector2>((v, w) => { writeVector2(v, w); }); // 注册Vector3类型的Exporter Action <UnityEngine.Vector3, JsonWriter> writeVector3 = (v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteObjectEnd(); }; JsonMapper.RegisterExporter <UnityEngine.Vector3>((v, w) => { writeVector3(v, w); }); // 注册Vector4类型的Exporter JsonMapper.RegisterExporter <UnityEngine.Vector4>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteProperty("w", v.w); w.WriteObjectEnd(); }); // 注册Quaternion类型的Exporter JsonMapper.RegisterExporter <UnityEngine.Quaternion>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteProperty("w", v.w); w.WriteObjectEnd(); }); // 注册Color类型的Exporter JsonMapper.RegisterExporter <UnityEngine.Color>((v, w) => { w.WriteObjectStart(); w.WriteProperty("r", v.r); w.WriteProperty("g", v.g); w.WriteProperty("b", v.b); w.WriteProperty("a", v.a); w.WriteObjectEnd(); }); // 注册Color32类型的Exporter JsonMapper.RegisterExporter <UnityEngine.Color32>((v, w) => { w.WriteObjectStart(); w.WriteProperty("r", v.r); w.WriteProperty("g", v.g); w.WriteProperty("b", v.b); w.WriteProperty("a", v.a); w.WriteObjectEnd(); }); // 注册Bounds类型的Exporter JsonMapper.RegisterExporter <UnityEngine.Bounds>((v, w) => { w.WriteObjectStart(); w.WritePropertyName("center"); writeVector3(v.center, w); w.WritePropertyName("size"); writeVector3(v.size, w); w.WriteObjectEnd(); }); // 注册Rect类型的Exporter JsonMapper.RegisterExporter <UnityEngine.Rect>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("width", v.width); w.WriteProperty("height", v.height); w.WriteObjectEnd(); }); // 注册RectOffset类型的Exporter JsonMapper.RegisterExporter <UnityEngine.RectOffset>((v, w) => { w.WriteObjectStart(); w.WriteProperty("top", v.top); w.WriteProperty("left", v.left); w.WriteProperty("bottom", v.bottom); w.WriteProperty("right", v.right); w.WriteObjectEnd(); }); }
public static void Register() { if (registerd) { return; } registerd = true; // If you seralize using WriteProperty() // LitJson will attempt to bind property // names to class members instead of using // an importer. // -- Type JsonMapper.RegisterExporter <Type>((v, w) => { w.Write(v.FullName); }); JsonMapper.RegisterImporter <string, Type>((s) => { return(Type.GetType(s)); }); // -- Vector2 Action <Vector2, JsonWriter> writeVector2 = (v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteObjectEnd(); }; JsonMapper.RegisterExporter <Vector2>((v, w) => { writeVector2(v, w); }); // -- Vector3 Action <Vector3, JsonWriter> writeVector3 = (v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteObjectEnd(); }; JsonMapper.RegisterExporter <Vector3>((v, w) => { writeVector3(v, w); }); // -- Vector4 JsonMapper.RegisterExporter <Vector4>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteProperty("w", v.w); w.WriteObjectEnd(); }); // -- Quaternion JsonMapper.RegisterExporter <Quaternion>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteProperty("w", v.w); w.WriteObjectEnd(); }); // -- Color JsonMapper.RegisterExporter <Color>((v, w) => { w.WriteObjectStart(); w.WriteProperty("r", v.r); w.WriteProperty("g", v.g); w.WriteProperty("b", v.b); w.WriteProperty("a", v.a); w.WriteObjectEnd(); }); // -- Color32 JsonMapper.RegisterExporter <Color32>((v, w) => { w.WriteObjectStart(); w.WriteProperty("r", v.r); w.WriteProperty("g", v.g); w.WriteProperty("b", v.b); w.WriteProperty("a", v.a); w.WriteObjectEnd(); }); // -- Bounds JsonMapper.RegisterExporter <Bounds>((v, w) => { w.WriteObjectStart(); w.WritePropertyName("center"); writeVector3(v.center, w); w.WritePropertyName("size"); writeVector3(v.size, w); w.WriteObjectEnd(); }); // -- Rect JsonMapper.RegisterExporter <Rect>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("width", v.width); w.WriteProperty("height", v.height); w.WriteObjectEnd(); }); // -- RectOffset JsonMapper.RegisterExporter <RectOffset>((v, w) => { w.WriteObjectStart(); w.WriteProperty("top", v.top); w.WriteProperty("left", v.left); w.WriteProperty("bottom", v.bottom); w.WriteProperty("right", v.right); w.WriteObjectEnd(); }); }
public static void Register() { if (registerd) { return; } registerd = true; // If you seralize using WriteProperty() // LitJson will attempt to bind property // names to class members instead of using // an importer. // -- Type JsonMapper.RegisterExporter <Type>((v, w) => { w.Write(v.FullName); }); JsonMapper.RegisterImporter <string, Type>((s) => { return(Type.GetType(s)); }); //DateTimeOffset //Action<DateTimeOffset, JsonWriter> writeDateTimeOffset = (v, w) => { // //{"D1":"2018-03-21T03:54:36.2747187Z","D2":"2018-03-21T03:54:36.2747187+00:00"} // w.WriteObjectStart(); // //w.WriteProperty("D1", string.Format("{0}-{1}-{2}T{3}:{4}:{5}Z", // // v.Year,v.Month,v.Date, // // v.Hour,v.Minute,v.Second+v.Millisecond*0.001f)); // w.WriteProperty("D2", string.Format("{0}-{1}-{2}T{3}:{4}:{5}+{6}:{7}", // v.Year, v.Month, v.Date, // v.Hour, v.Minute, v.Second + v.Millisecond * 0.001f, // //时区 // "00","00" // )); // w.WriteObjectEnd(); //}; //JsonMapper.RegisterExporter<DateTimeOffset>((v,w)=> { // writeDateTimeOffset(v,w); //}); ////Action<DateTimeOffset, JsonReader> readDateTimeOffset=((v,r)=> { //// //怎么读呢 ////}); ////JsonMapper.RegisterImporter((s) => { //// return ////}); //JsonMapper.RegisterFactory<DateTimeOffset>(()=> { // return new DateTimeOffset(); //}); // -- Vector2 Action <Vector2, JsonWriter> writeVector2 = (v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteObjectEnd(); }; JsonMapper.RegisterExporter <Vector2>((v, w) => { writeVector2(v, w); }); // -- Vector3 Action <Vector3, JsonWriter> writeVector3 = (v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteObjectEnd(); }; JsonMapper.RegisterExporter <Vector3>((v, w) => { writeVector3(v, w); }); // -- Vector4 JsonMapper.RegisterExporter <Vector4>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteProperty("w", v.w); w.WriteObjectEnd(); }); // -- Quaternion JsonMapper.RegisterExporter <Quaternion>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("z", v.z); w.WriteProperty("w", v.w); w.WriteObjectEnd(); }); // -- Color JsonMapper.RegisterExporter <Color>((v, w) => { w.WriteObjectStart(); w.WriteProperty("r", v.r); w.WriteProperty("g", v.g); w.WriteProperty("b", v.b); w.WriteProperty("a", v.a); w.WriteObjectEnd(); }); // -- Color32 JsonMapper.RegisterExporter <Color32>((v, w) => { w.WriteObjectStart(); w.WriteProperty("r", v.r); w.WriteProperty("g", v.g); w.WriteProperty("b", v.b); w.WriteProperty("a", v.a); w.WriteObjectEnd(); }); // -- Bounds JsonMapper.RegisterExporter <Bounds>((v, w) => { w.WriteObjectStart(); w.WritePropertyName("center"); writeVector3(v.center, w); w.WritePropertyName("size"); writeVector3(v.size, w); w.WriteObjectEnd(); }); // -- Rect JsonMapper.RegisterExporter <Rect>((v, w) => { w.WriteObjectStart(); w.WriteProperty("x", v.x); w.WriteProperty("y", v.y); w.WriteProperty("width", v.width); w.WriteProperty("height", v.height); w.WriteObjectEnd(); }); // -- RectOffset JsonMapper.RegisterExporter <RectOffset>((v, w) => { w.WriteObjectStart(); w.WriteProperty("top", v.top); w.WriteProperty("left", v.left); w.WriteProperty("bottom", v.bottom); w.WriteProperty("right", v.right); w.WriteObjectEnd(); }); }