public static GLTFCamera Deserialize(GLTFRoot root, JsonReader reader) { var camera = new GLTFCamera(); while (reader.Read() && reader.TokenType == JsonToken.PropertyName) { var curProp = reader.Value.ToString(); switch (curProp) { case "orthographic": camera.Orthographic = GLTFCameraOrthographic.Deserialize(root, reader); break; case "perspective": camera.Perspective = GLTFCameraPerspective.Deserialize(root, reader); break; default: camera.DefaultPropertyDeserializer(root, reader); break; } } return(camera); }
public static GLTFCameraOrthographic Deserialize(GLTFRoot root, JsonReader reader) { var cameraOrthographic = new GLTFCameraOrthographic(); if (reader.Read() && reader.TokenType != JsonToken.StartObject) { throw new Exception("Orthographic camera must be an object."); } while (reader.Read() && reader.TokenType == JsonToken.PropertyName) { var curProp = reader.Value.ToString(); switch (curProp) { case "xmag": cameraOrthographic.XMag = reader.ReadAsDouble().Value; break; case "ymag": cameraOrthographic.YMag = reader.ReadAsDouble().Value; break; case "zfar": cameraOrthographic.ZFar = reader.ReadAsDouble().Value; break; case "znear": cameraOrthographic.ZNear = reader.ReadAsDouble().Value; break; default: cameraOrthographic.DefaultPropertyDeserializer(root, reader); break; } } return(cameraOrthographic); }