public static Skin Deserialize(GLTFRoot root, JsonReader reader) { var skin = new Skin(); while (reader.Read() && reader.TokenType == JsonToken.PropertyName) { var curProp = reader.Value.ToString(); switch (curProp) { case "inverseBindMatrices": skin.InverseBindMatrices = AccessorId.Deserialize(root, reader); break; case "skeleton": skin.Skeleton = NodeId.Deserialize(root, reader); break; case "joints": skin.Joints = NodeId.ReadList(root, reader); break; default: skin.DefaultPropertyDeserializer(root, reader); break; } } return(skin); }
public static Skin Deserialize(GLTFRoot root, JsonReader reader) { var skin = new Skin(); while (reader.Read() && reader.TokenType == JsonToken.PropertyName) { var curProp = reader.Value.ToString(); switch (curProp) { case "inverseBindMatrices": skin.InverseBindMatrices = AccessorId.Deserialize(root, reader); break; case "skeleton": skin.Skeleton = NodeId.Deserialize(root, reader); break; case "joints": skin.Joints = new List <NodeId>(); List <int> ids = reader.ReadInt32List(); for (int i = 0; i < ids.Count; i++) { skin.Joints.Add(new NodeId() { Id = ids[i], Root = root }); } break; default: skin.DefaultPropertyDeserializer(root, reader); break; } } return(skin); }