UniVRM/Assets/VRM10/Runtime/Format/SpringBoneLimit/Deserializer.g.cs
2025-09-26 14:17:42 +09:00

237 lines
5.3 KiB
C#

// This file is generated from JsonSchema. Don't modify this source code.
using UniJSON;
using System;
using System.Collections.Generic;
using UnityEngine;
namespace UniGLTF.Extensions.VRMC_springBone_limit {
public static class GltfDeserializer
{
public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(VRMC_springBone_limit.ExtensionName);
public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_springBone_limit extension)
{
if(src is UniGLTF.glTFExtensionImport extensions)
{
foreach(var kv in extensions.ObjectItems())
{
if(kv.Key.GetUtf8String() == ExtensionNameUtf8)
{
extension = Deserialize(kv.Value);
return true;
}
}
}
extension = default;
return false;
}
public static VRMC_springBone_limit Deserialize(JsonNode parsed)
{
var value = new VRMC_springBone_limit();
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=="specVersion"){
value.SpecVersion = kv.Value.GetString();
continue;
}
if(key=="limit"){
value.Limit = Deserialize_Limit(kv.Value);
continue;
}
}
return value;
}
public static Limit Deserialize_Limit(JsonNode parsed)
{
var value = new Limit();
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=="cone"){
value.Cone = __limit_Deserialize_Cone(kv.Value);
continue;
}
if(key=="hinge"){
value.Hinge = __limit_Deserialize_Hinge(kv.Value);
continue;
}
if(key=="spherical"){
value.Spherical = __limit_Deserialize_Spherical(kv.Value);
continue;
}
}
return value;
}
public static ConeLimit __limit_Deserialize_Cone(JsonNode parsed)
{
var value = new ConeLimit();
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=="angle"){
value.Angle = kv.Value.GetSingle();
continue;
}
if(key=="rotation"){
value.Rotation = __limit__cone_Deserialize_Rotation(kv.Value);
continue;
}
}
return value;
}
public static float[] __limit__cone_Deserialize_Rotation(JsonNode parsed)
{
var value = new float[parsed.GetArrayCount()];
int i=0;
foreach(var x in parsed.ArrayItems())
{
value[i++] = x.GetSingle();
}
return value;
}
public static HingeLimit __limit_Deserialize_Hinge(JsonNode parsed)
{
var value = new HingeLimit();
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=="angle"){
value.Angle = kv.Value.GetSingle();
continue;
}
if(key=="rotation"){
value.Rotation = __limit__hinge_Deserialize_Rotation(kv.Value);
continue;
}
}
return value;
}
public static float[] __limit__hinge_Deserialize_Rotation(JsonNode parsed)
{
var value = new float[parsed.GetArrayCount()];
int i=0;
foreach(var x in parsed.ArrayItems())
{
value[i++] = x.GetSingle();
}
return value;
}
public static SphericalLimit __limit_Deserialize_Spherical(JsonNode parsed)
{
var value = new SphericalLimit();
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=="pitch"){
value.Pitch = kv.Value.GetSingle();
continue;
}
if(key=="yaw"){
value.Yaw = kv.Value.GetSingle();
continue;
}
if(key=="rotation"){
value.Rotation = __limit__spherical_Deserialize_Rotation(kv.Value);
continue;
}
}
return value;
}
public static float[] __limit__spherical_Deserialize_Rotation(JsonNode parsed)
{
var value = new float[parsed.GetArrayCount()];
int i=0;
foreach(var x in parsed.ArrayItems())
{
value[i++] = x.GetSingle();
}
return value;
}
} // GltfDeserializer
} // UniGLTF