public static Color ToColor(this string data) { var cody = new CfgDecoder(data); var c = new Color(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "r": c.r = d.ToFloat(); break; case "g": c.g = d.ToFloat(); break; case "b": c.b = d.ToFloat(); break; case "a": c.a = d.ToFloat(); break; default: cody.GetData(); break; } } return(c); }
public static List <T> Decode_List_Derived <T>(this string data, out List <T> l, ref ListMetaData ld) where T : ICfg { if (ld == null) { ld = new ListMetaData(); } l = new List <T>(); var tps = typeof(T).TryGetDerivedClasses(); var overCody = new CfgDecoder(data); foreach (var tag in overCody) { switch (tag) { case CfgEncoder.ListMetaTag: ld.Decode(overCody.GetData()); break; case CfgEncoder.ListTag: var cody = new CfgDecoder(overCody.GetData()); if (tps != null) { foreach (var t in cody) { l.Add(cody.DecodeData <T>(tps, ld)); } } break; default: l.Add(overCody.DecodeData <T>(tps, ld)); break; } } return(l); }
public static List <T> Decode_List <T>(this string data, out List <T> l, ref ListMetaData ld, TaggedTypesCfg tps) where T : IGotClassTag { l = new List <T>(); if (ld == null) { ld = new ListMetaData(); } var overCody = new CfgDecoder(data); foreach (var tag in overCody) { switch (tag) { case CfgEncoder.ListMetaTag: ld.Decode(overCody.GetData()); break; case CfgEncoder.ListTag: var cody = new CfgDecoder(overCody.GetData()); foreach (var t in cody) { l.Add(cody.DecodeData <T>(tps, ld)); } break; default: l.Add(overCody.DecodeData <T>(tps, ld)); break; } } return(l); }
public static void DecodeInto(this string data, Transform tf) { var cody = new CfgDecoder(data); var local = false; foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "loc": local = d.ToBool(); break; case "pos": if (local) { tf.localPosition = d.ToVector3(); } else { tf.position = d.ToVector3(); } break; case "size": tf.localScale = d.ToVector3(); break; case "rot": if (local) { tf.localRotation = d.ToQuaternion(); } else { tf.rotation = d.ToQuaternion(); } break; } } }
public static void DecodeInto(this string data, RectTransform tf) { var cody = new CfgDecoder(data); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "tfBase": d.DecodeInto(tf.transform); break; case "aPos": tf.anchoredPosition = d.ToVector2(); break; case "aPos3D": tf.anchoredPosition3D = d.ToVector3(); break; case "aMax": tf.anchorMax = d.ToVector2(); break; case "aMin": tf.anchorMin = d.ToVector2(); break; case "ofMax": tf.offsetMax = d.ToVector2(); break; case "ofMin": tf.offsetMin = d.ToVector2(); break; case "pvt": tf.pivot = d.ToVector2(); break; case "deSize": tf.sizeDelta = d.ToVector2(); break; } } }
public static List <T> Decode_List <T>(this string data, out List <T> l) where T : ICfg, new() { var cody = new CfgDecoder(data); l = new List <T>(); var tps = typeof(T).TryGetDerivedClasses(); if (tps != null) { foreach (var tag in cody) { l.Add(cody.DecodeData <T>(tps)); } } else { foreach (var tag in cody) { l.Add(cody.GetData().DecodeInto <T>()); } } return(l); }
public static BoneWeight ToBoneWeight(this string data) { var cody = new CfgDecoder(data); var b = new BoneWeight(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "i0": b.boneIndex0 = d.ToInt(); break; case "w0": b.weight0 = d.ToFloat(); break; case "i1": b.boneIndex1 = d.ToInt(); break; case "w1": b.weight1 = d.ToFloat(); break; case "i2": b.boneIndex2 = d.ToInt(); break; case "w2": b.weight2 = d.ToFloat(); break; case "i3": b.boneIndex3 = d.ToInt(); break; case "w3": b.weight3 = d.ToFloat(); break; } } return(b); }
public static List <T> TryDecode_IntoList_Elements <T>(this string data, List <T> l, ref ListMetaData ld) where T : ICfg, new() { if (ld == null) { ld = new ListMetaData(); } var overCody = new CfgDecoder(data); var index = 0; foreach (var tag in overCody) { switch (tag) { case CfgEncoder.ListMetaTag: ld.Decode(overCody.GetData()); break; case CfgEncoder.ListTag: var cody = new CfgDecoder(overCody.GetData()); foreach (var t in cody) { var d = cody.GetData(); if (index >= l.Count || !d.TryDecodeInto(l[index])) { ld.elementDatas[index].Unrecognized(tag, d); } index++; } break; default: var d1 = overCody.GetData(); if (index >= l.Count || !d1.TryDecodeInto(l[index])) { ld.elementDatas[index].Unrecognized(tag, d1); } index++; break; } } return(l); }
public static void DecodeInto(this string data, out Countless<Quaternion> c) { c = new Countless<Quaternion>(); var cody = new CfgDecoder(data); foreach (var tag in cody) c[tag.ToInt()] = cody.GetData().ToQuaternion(); }
public static void DecodeInto_Countless(this string data, out Countless <float> c) { c = new Countless <float>(); var cody = new CfgDecoder(data); foreach (var tag in cody) { c[tag.ToInt()] = cody.GetData().ToFloat(); } }
public static void DecodeInto(this string data, out Countless <Vector3> c) { c = new Countless <Vector3>(); var cody = new CfgDecoder(data); foreach (var tag in cody) { c[tag.ToInt()] = cody.GetData().ToVector3(); } }
public static void Decode_Dictionary(this string data, out Dictionary <string, string> dic) { var cody = new CfgDecoder(data); dic = new Dictionary <string, string>(); while (cody.GotData) { dic.Add(cody.GetTag(), cody.GetData()); } }
public static void Decode <T>(this string data, out T val, TaggedTypesCfg typeList) where T : IGotClassTag { val = default(T); var cody = new CfgDecoder(data); var type = typeList.TaggedTypes.TryGet(cody.GetTag()); if (type != null) { val = cody.GetData().DecodeInto_Type <T>(type); } }
public static List <int> Decode_List(this string data, out List <int> l) { l = new List <int>(); var cody = new CfgDecoder(data); foreach (var tag in cody) { l.Add(cody.GetData().ToInt()); } return(l); }
public static List <List <T> > Decode_ListOfList <T>(this string data, out List <List <T> > l) where T : ICfg, new() { l = new List <List <T> >(); var cody = new CfgDecoder(data); while (cody.GotData) { cody.GetTag(); List <T> el; cody.GetData().Decode_List(out el); l.Add(el); } return(l); }
public static Matrix4x4 ToMatrix4X4(this string data) { var cody = new CfgDecoder(data); var m = new Matrix4x4(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "00": m.m00 = d.ToFloat(); break; case "01": m.m01 = d.ToFloat(); break; case "02": m.m02 = d.ToFloat(); break; case "03": m.m03 = d.ToFloat(); break; case "10": m.m10 = d.ToFloat(); break; case "11": m.m11 = d.ToFloat(); break; case "12": m.m12 = d.ToFloat(); break; case "13": m.m13 = d.ToFloat(); break; case "20": m.m20 = d.ToFloat(); break; case "21": m.m21 = d.ToFloat(); break; case "22": m.m22 = d.ToFloat(); break; case "23": m.m23 = d.ToFloat(); break; case "30": m.m30 = d.ToFloat(); break; case "31": m.m31 = d.ToFloat(); break; case "32": m.m32 = d.ToFloat(); break; case "33": m.m33 = d.ToFloat(); break; default: Debug.Log("Unknown component: " + t); break; } } return(m); }
public static Rect ToRect(this string data) { var cody = new CfgDecoder(data); var rect = new Rect(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "pos": rect.position = d.ToVector2(); break; case "size": rect.size = d.ToVector2(); break; } } return(rect); }
public static Vector2 ToVector2(this string data) { var cody = new CfgDecoder(data); var v2 = new Vector3(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "x": v2.x = d.ToFloat(); break; case "y": v2.y = d.ToFloat(); break; } } return(v2); }
public static Vector3 ToVector3(this string data) { var cody = new CfgDecoder(data); var v3 = new Vector3(); foreach (var tag in cody) { var d = cody.GetData(); switch (tag) { case "x": v3.x = d.ToFloat(); break; case "y": v3.y = d.ToFloat(); break; case "z": v3.z = d.ToFloat(); break; } } return(v3); }
public Vector3 ToVector3() { var cody = new CfgDecoder(_value); var v3 = new Vector3(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "x": v3.x = d.ToFloat(); break; case "y": v3.y = d.ToFloat(); break; case "z": v3.z = d.ToFloat(); break; } } return(v3); }
public static T[] Decode_Array <T>(this string data, out T[] l) where T : ICfg, new() { var cody = new CfgDecoder(data); l = null; var tmpList = new List <T>(); var ind = 0; foreach (var tag in cody) { var d = cody.GetData(); if (tag == "len") { l = new T[d.ToInt()]; } else { var isNull = tag == CfgEncoder.NullTag; var obj = isNull ? default(T) : d.DecodeInto <T>(); if (l != null) { l[ind] = obj; } else { tmpList.Add(obj); } ind++; } } return(l ?? tmpList.ToArray()); }
public T[] Decode_Array <T>(out T[] l) where T : class, ICfgCustom, new() { var cody = new CfgDecoder(this); l = null; var tmpList = new List <T>(); var ind = 0; foreach (var tag in cody) { var d = cody.GetData(); if (tag == "len") { l = new T[d.ToInt(0)]; } else { var isNull = tag == CfgEncoder.NullTag; var obj = isNull ? default : d.Decode <T>(); if (l != null) { l[ind] = obj; } else { tmpList.Add(obj); } ind++; } } return(l ?? tmpList.ToArray()); }
public static Matrix4x4[] Decode_Array(this string data, out Matrix4x4[] l) { var cody = new CfgDecoder(data); l = null; var tmpList = new List <Matrix4x4>(); var ind = 0; foreach (var tag in cody) { var d = cody.GetData(); if (tag == "len") { l = new Matrix4x4[d.ToInt()]; } else { var obj = d.ToMatrix4X4(); if (l != null) { l[ind] = obj; } else { tmpList.Add(obj); } ind++; } } return(l ?? tmpList.ToArray()); }
public static Quaternion ToQuaternion(this string data) { var cody = new CfgDecoder(data); var q = new Quaternion(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "x": q.x = d.ToFloat(); break; case "y": q.y = d.ToFloat(); break; case "z": q.z = d.ToFloat(); break; case "w": q.w = d.ToFloat(); break; default: Debug.Log("Unknown component: " + cody.GetType()); break; } } return(q); }
public static Vector4 ToVector4(this string data) { var cody = new CfgDecoder(data); var v4 = new Vector4(); foreach (var t in cody) { var d = cody.GetData(); switch (t) { case "x": v4.x = d.ToFloat(); break; case "y": v4.y = d.ToFloat(); break; case "z": v4.z = d.ToFloat(); break; case "w": v4.w = d.ToFloat(); break; default: Debug.Log("Unknown component: " + t); break; } } return(v4); }
public static bool TryDecode_IntoList_Elements <T>(this string data, List <T> val) { if (val == null) { return(false); } var cody = new CfgDecoder(data); var index = 0; foreach (var t in cody) { if (index >= val.Count) { return(true); } cody.GetData().TryDecodeInto(val[index]); index++; } return(true); }
private static T DecodeData <T>(this CfgDecoder cody, TaggedTypesCfg tps, ListMetaData ld) where T : IGotClassTag => Decode <T>(cody.currentTag, cody.GetData(), tps, ld, cody.currentTagIndex);
private static T DecodeData <T>(this CfgDecoder cody, TaggedTypesCfg tps) where T : IGotClassTag => Decode <T>(cody.currentTag, cody.GetData(), tps);
private static T DecodeData <T>(this CfgDecoder cody, List <Type> tps, ListMetaData ld) where T : ICfg => Decode <T>(cody.currentTag, cody.GetData(), tps, ld, cody.currentTagIndex);
private static T DecodeData <T>(this CfgDecoder cody, List <Type> tps) where T : ICfg => Decode <T>(cody.currentTag, cody.GetData(), tps);