static void Traverse(ListTreeNode <JsonValue> node, JsonFormatter f, UnityPath dir) { if (node.IsArray()) { f.BeginList(); foreach (var x in node.ArrayItems()) { TraverseItem(x, f, dir); } f.EndList(); } else if (node.IsMap()) { f.BeginMap(); foreach (var kv in node.ObjectItems()) { f.Key(kv.Key.GetUtf8String()); TraverseItem(kv.Value, f, dir); } f.EndMap(); } else { f.Value(node); } }
void Traverse(ListTreeNode <JsonValue> node, JsonFormatter f, Utf8String parentKey) { if (node.IsMap()) { f.BeginMap(); foreach (var kv in node.ObjectItems()) { if (parentKey == s_extensions) { if (!UsedExtension(kv.Key.GetString())) { continue; } } f.Key(kv.Key.GetUtf8String()); Traverse(kv.Value, f, kv.Key.GetUtf8String()); } f.EndMap(); } else if (node.IsArray()) { f.BeginList(); foreach (var x in node.ArrayItems()) { Traverse(x, f, default(Utf8String)); } f.EndList(); } else { f.Value(node); } }
static void TraverseItem(ListTreeNode <JsonValue> node, JsonFormatter f, UnityPath dir) { var title = GetTitle(node); if (string.IsNullOrEmpty(title)) { Traverse(node, f, dir); } else { // ref f.BeginMap(); f.Key("$ref"); var fileName = string.Format("{0}.schema.json", title); f.Value(fileName); f.EndMap(); // new formatter { var subFormatter = new JsonFormatter(4); subFormatter.BeginMap(); foreach (var _kv in node.ObjectItems()) { subFormatter.Key(_kv.Key.GetUtf8String()); Traverse(_kv.Value, subFormatter, dir); } subFormatter.EndMap(); var subJson = subFormatter.ToString(); var path = dir.Child(fileName); File.WriteAllText(path.FullPath, subJson); } } }
public static ColliderShape Deserialize_Shapes_ITEM(ListTreeNode <JsonValue> parsed) { var value = new ColliderShape(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "extensions") { value.Extensions = new glTFExtensionImport(kv.Value); continue; } if (key == "extras") { value.Extras = new glTFExtensionImport(kv.Value); continue; } if (key == "sphere") { value.Sphere = Deserialize_Sphere(kv.Value); continue; } if (key == "capsule") { value.Capsule = Deserialize_Capsule(kv.Value); continue; } } return(value); }
// { // "bone": "hips", // "node": 14, // "useDefaultValues": true, // "min": { // "x": 0, // "y": 0, // "z": 0 // }, // "max": { // "x": 0, // "y": 0, // "z": 0 // }, // "center": { // "x": 0, // "y": 0, // "z": 0 // }, // "axisLength": 0 // }, static UniGLTF.Extensions.VRMC_vrm.HumanBone MigrateHumanoidBone(ListTreeNode <JsonValue> vrm0) { return(new UniGLTF.Extensions.VRMC_vrm.HumanBone { Node = vrm0["node"].GetInt32(), }); }
static string GetLicenseUrl(ListTreeNode <JsonValue> vrm0) { string l0 = default; string l1 = default; foreach (var kv in vrm0.ObjectItems()) { switch (kv.Key.GetString()) { case "otherLicenseUrl": l0 = kv.Value.GetString(); break; case "otherPermissionUrl": l1 = kv.Value.GetString(); break; } } if (!string.IsNullOrWhiteSpace(l0)) { return(l0); } if (!string.IsNullOrWhiteSpace(l1)) { return(l1); } return(""); }
public static ColliderShapeCapsule Deserialize_Capsule(ListTreeNode <JsonValue> parsed) { var value = new ColliderShapeCapsule(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "offset") { value.Offset = Deserialize_Offset(kv.Value); continue; } if (key == "radius") { value.Radius = kv.Value.GetSingle(); continue; } if (key == "tail") { value.Tail = Deserialize_Tail(kv.Value); continue; } } return(value); }
public static Spring Deserialize_Springs_ITEM(ListTreeNode <JsonValue> parsed) { var value = new Spring(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "name") { value.Name = kv.Value.GetString(); continue; } if (key == "joints") { value.Joints = Deserialize_Joints(kv.Value); continue; } if (key == "colliders") { value.Colliders = Deserialize_Colliders(kv.Value); continue; } } return(value); }
static glTF_KHR_texture_transform Deserialize(ListTreeNode <JsonValue> json) { var t = new glTF_KHR_texture_transform(); if (json.Value.ValueType == ValueNodeType.Object) { foreach (var kv in json.ObjectItems()) { var key = kv.Key.GetString(); switch (key) { case nameof(offset): t.offset = DeserializeFloat2(kv.Value).ToArray(); break; case nameof(rotation): t.rotation = kv.Value.GetSingle(); break; case nameof(scale): t.scale = DeserializeFloat2(kv.Value).ToArray(); break; case nameof(texCoord): t.texCoord = kv.Value.GetInt32(); break; default: throw new NotImplementedException(); } } } return(t); }
public static List <glTF_VCI_Material> Parse(ListTreeNode <JsonValue> json) { var materials = json.DeserializeList <glTF_VCI_Material>(); var jsonItems = json.ArrayItems().ToArray(); for (var i = 0; i < materials.Count; ++i) { materials[i].floatProperties = jsonItems[i][s_floatProperties].ObjectItems() .ToDictionary(x => x.Key.GetString(), x => x.Value.GetSingle()); materials[i].vectorProperties = jsonItems[i][s_vectorProperties].ObjectItems().ToDictionary(x => x.Key.GetString(), x => { return(x.Value.ArrayItems().Select(y => y.GetSingle()).ToArray()); }); materials[i].keywordMap = jsonItems[i][s_keywordMap].ObjectItems() .ToDictionary(x => x.Key.GetString(), x => x.Value.GetBoolean()); materials[i].tagMap = jsonItems[i][s_tagMap].ObjectItems().ToDictionary(x => x.Key.GetString(), x => x.Value.GetString()); materials[i].textureProperties = jsonItems[i][s_textureProperties].ObjectItems() .ToDictionary(x => x.Key.GetString(), x => x.Value.GetInt32()); } return(materials); }
public static VRMC_springBone Deserialize(ListTreeNode <JsonValue> parsed) { var value = new VRMC_springBone(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "extensions") { value.Extensions = new glTFExtensionImport(kv.Value); continue; } if (key == "extras") { value.Extras = new glTFExtensionImport(kv.Value); continue; } if (key == "springs") { value.Springs = Deserialize_Springs(kv.Value); continue; } } return(value); }
public static SpringSetting Deserialize_Settings_ITEM(ListTreeNode <JsonValue> parsed) { var value = new SpringSetting(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "stiffness") { value.Stiffness = kv.Value.GetSingle(); continue; } if (key == "gravityPower") { value.GravityPower = kv.Value.GetSingle(); continue; } if (key == "gravityDir") { value.GravityDir = Deserialize_GravityDir(kv.Value); continue; } if (key == "dragForce") { value.DragForce = kv.Value.GetSingle(); continue; } } return(value); }
public static Vector3 Deserialize_vrm_firstPerson_firstPersonBoneOffset(ListTreeNode <JsonValue> parsed) { var value = new Vector3(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "x") { value.x = kv.Value.GetSingle(); continue; } if (key == "y") { value.y = kv.Value.GetSingle(); continue; } if (key == "z") { value.z = kv.Value.GetSingle(); continue; } } return(value); }
static float[] ReverseZ(ListTreeNode <JsonValue> xyz) { return(new float[] { xyz["x"].GetSingle(), xyz["y"].GetSingle(), -xyz["z"].GetSingle(), }); }
public static glTF_VRM_extensions Deserialize(ListTreeNode <JsonValue> parsed) { var value = new glTF_VRM_extensions(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "exporterVersion") { value.exporterVersion = kv.Value.GetString(); continue; } if (key == "specVersion") { value.specVersion = kv.Value.GetString(); continue; } if (key == "meta") { value.meta = Deserialize_vrm_meta(kv.Value); continue; } if (key == "humanoid") { value.humanoid = Deserialize_vrm_humanoid(kv.Value); continue; } if (key == "firstPerson") { value.firstPerson = Deserialize_vrm_firstPerson(kv.Value); continue; } if (key == "blendShapeMaster") { value.blendShapeMaster = Deserialize_vrm_blendShapeMaster(kv.Value); continue; } if (key == "secondaryAnimation") { value.secondaryAnimation = Deserialize_vrm_secondaryAnimation(kv.Value); continue; } if (key == "materialProperties") { value.materialProperties = Deserialize_vrm_materialProperties(kv.Value); continue; } } return(value); }
public static PositionConstraint Deserialize_Position(ListTreeNode <JsonValue> parsed) { var value = new PositionConstraint(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "extensions") { value.Extensions = new glTFExtensionImport(kv.Value); continue; } if (key == "extras") { value.Extras = new glTFExtensionImport(kv.Value); continue; } if (key == "name") { value.Name = kv.Value.GetString(); continue; } if (key == "source") { value.Source = kv.Value.GetInt32(); continue; } if (key == "sourceSpace") { value.SourceSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true); continue; } if (key == "destinationSpace") { value.DestinationSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true); continue; } if (key == "freezeAxes") { value.FreezeAxes = Deserialize_FreezeAxes(kv.Value); continue; } if (key == "weight") { value.Weight = kv.Value.GetSingle(); continue; } } return(value); }
public static glTF_VRM_Material Deserialize_vrm_materialProperties_LIST(ListTreeNode <JsonValue> parsed) { var value = new glTF_VRM_Material(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "name") { value.name = kv.Value.GetString(); continue; } if (key == "shader") { value.shader = kv.Value.GetString(); continue; } if (key == "renderQueue") { value.renderQueue = kv.Value.GetInt32(); continue; } if (key == "floatProperties") { value.floatProperties = Deserialize_vrm_materialProperties__floatProperties(kv.Value); continue; } if (key == "vectorProperties") { value.vectorProperties = Deserialize_vrm_materialProperties__vectorProperties(kv.Value); continue; } if (key == "textureProperties") { value.textureProperties = Deserialize_vrm_materialProperties__textureProperties(kv.Value); continue; } if (key == "keywordMap") { value.keywordMap = Deserialize_vrm_materialProperties__keywordMap(kv.Value); continue; } if (key == "tagMap") { value.tagMap = Deserialize_vrm_materialProperties__tagMap(kv.Value); continue; } } return(value); }
public static glTF_VRM_Firstperson Deserialize_vrm_firstPerson(ListTreeNode <JsonValue> parsed) { var value = new glTF_VRM_Firstperson(); foreach (var kv in parsed.ObjectItems()) { var key = kv.Key.GetString(); if (key == "firstPersonBone") { value.firstPersonBone = kv.Value.GetInt32(); continue; } if (key == "firstPersonBoneOffset") { value.firstPersonBoneOffset = Deserialize_vrm_firstPerson_firstPersonBoneOffset(kv.Value); continue; } if (key == "meshAnnotations") { value.meshAnnotations = Deserialize_vrm_firstPerson_meshAnnotations(kv.Value); continue; } if (key == "lookAtTypeName") { value.lookAtTypeName = kv.Value.GetString(); continue; } if (key == "lookAtHorizontalInner") { value.lookAtHorizontalInner = Deserialize_vrm_firstPerson_lookAtHorizontalInner(kv.Value); continue; } if (key == "lookAtHorizontalOuter") { value.lookAtHorizontalOuter = Deserialize_vrm_firstPerson_lookAtHorizontalOuter(kv.Value); continue; } if (key == "lookAtVerticalDown") { value.lookAtVerticalDown = Deserialize_vrm_firstPerson_lookAtVerticalDown(kv.Value); continue; } if (key == "lookAtVerticalUp") { value.lookAtVerticalUp = Deserialize_vrm_firstPerson_lookAtVerticalUp(kv.Value); continue; } } return(value); }
public static void CheckBone(string bone, ListTreeNode <JsonValue> vrm0, UniGLTF.Extensions.VRMC_vrm.HumanBone vrm1) { var vrm0NodeIndex = vrm0["node"].GetInt32(); if (vrm0NodeIndex != vrm1.Node) { throw new Exception($"different {bone}: {vrm0NodeIndex} != {vrm1.Node}"); } }
static IEnumerable <float> DeserializeFloat2(ListTreeNode <JsonValue> json) { if (json.Value.ValueType == ValueNodeType.Array) { foreach (var a in json.ArrayItems()) { yield return(a.GetSingle()); } } }
private void InitTree() { LoadItems(); if (TreeList.TvList.Nodes.Count > 0) { CurrentNode = (ListTreeNode)TreeList.TvList.Nodes[0]; TreeList.TvList.SelectedNode = CurrentNode; LoadItemProperties(); } }
public static List <SpringBoneJoint> Deserialize_Joints(ListTreeNode <JsonValue> parsed) { var value = new List <SpringBoneJoint>(); foreach (var x in parsed.ArrayItems()) { value.Add(Deserialize_Joints_ITEM(x)); } return(value); }
public static void SetValue <T>(this ListTreeNode <JsonValue> node, string key, T value) { var f = new JsonFormatter(); f.Serialize(value); var p = Utf8String.From(key); var bytes = f.GetStoreBytes(); node.SetValue(p, bytes); }
public static List <ColliderShape> Deserialize_Shapes(ListTreeNode <JsonValue> parsed) { var value = new List <ColliderShape>(); foreach (var x in parsed.ArrayItems()) { value.Add(Deserialize_Shapes_ITEM(x)); } return(value); }
public static bool[] Deserialize_FreezeAxes(ListTreeNode <JsonValue> parsed) { var value = new bool[parsed.GetArrayCount()]; int i = 0; foreach (var x in parsed.ArrayItems()) { value[i++] = x.GetBoolean(); } return(value); }
public static int[] Deserialize_Colliders(ListTreeNode <JsonValue> parsed) { var value = new int[parsed.GetArrayCount()]; int i = 0; foreach (var x in parsed.ArrayItems()) { value[i++] = x.GetInt32(); } return(value); }
public static Int32[] Deserialize_vrm_secondaryAnimation_boneGroups__bones(ListTreeNode <JsonValue> parsed) { var value = new Int32[parsed.GetArrayCount()]; int i = 0; foreach (var x in parsed.ArrayItems()) { value[i++] = x.GetInt32(); } return(value); }
void Notify(Utf8String method, ListTreeNode <MsgPackValue> args) { NotifyFunc func; if (!m_map.TryGetValue(method, out func)) { Console.WriteLine($"{method} not found"); return; } func(args); }
public static Single[] Deserialize_vrm_firstPerson_lookAtVerticalUp_curve(ListTreeNode <JsonValue> parsed) { var value = new Single[parsed.GetArrayCount()]; int i = 0; foreach (var x in parsed.ArrayItems()) { value[i++] = x.GetSingle(); } return(value); }
public static float[] Deserialize_OutlineFactor(ListTreeNode <JsonValue> parsed) { var value = new float[parsed.GetArrayCount()]; int i = 0; foreach (var x in parsed.ArrayItems()) { value[i++] = x.GetSingle(); } return(value); }
protected virtual void OnClickRemoveButton(Object source, EventArgs e) { if (IsLoading()) { return; } if (TreeList.TvList.Nodes.Count == 0) { CurrentNode = null; LoadItemProperties(); } SetDirty(); UpdateControlsEnabling(); }
protected virtual void OnNodeSelected(Object source, TreeViewEventArgs e) { if (IsLoading()) { return; } CurrentNode = (ListTreeNode) TreeList.TvList.SelectedNode; LoadItemProperties(); UpdateControlsEnabling(); }
private void InitTree() { this.LoadItems(); if (this.TreeList.TvList.Nodes.Count > 0) { this.CurrentNode = (ListTreeNode) this.TreeList.TvList.Nodes[0]; this.TreeList.TvList.SelectedNode = this.CurrentNode; this.LoadItemProperties(); } }
protected virtual void OnNodeSelected(object source, TreeViewEventArgs e) { if (!base.IsLoading()) { this.CurrentNode = (ListTreeNode) this.TreeList.TvList.SelectedNode; this.LoadItemProperties(); this.UpdateControlsEnabling(); } }
protected virtual void OnClickRemoveButton(object source, EventArgs e) { if (!base.IsLoading()) { if (this.TreeList.TvList.Nodes.Count == 0) { this.CurrentNode = null; this.LoadItemProperties(); } this.SetDirty(); this.UpdateControlsEnabling(); } }