mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-14 06:19:47 -05:00
239 lines
5.5 KiB
C#
239 lines
5.5 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_extended_collider {
|
|
|
|
public static class GltfDeserializer
|
|
{
|
|
public static readonly Utf8String ExtensionNameUtf8 = Utf8String.From(VRMC_springBone_extended_collider.ExtensionName);
|
|
|
|
public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_springBone_extended_collider 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_extended_collider Deserialize(JsonNode parsed)
|
|
{
|
|
var value = new VRMC_springBone_extended_collider();
|
|
|
|
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=="shape"){
|
|
value.Shape = Deserialize_Shape(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static ExtendedColliderShape Deserialize_Shape(JsonNode parsed)
|
|
{
|
|
var value = new ExtendedColliderShape();
|
|
|
|
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 = __shape_Deserialize_Sphere(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="capsule"){
|
|
value.Capsule = __shape_Deserialize_Capsule(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="plane"){
|
|
value.Plane = __shape_Deserialize_Plane(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static ExtendedColliderShapeSphere __shape_Deserialize_Sphere(JsonNode parsed)
|
|
{
|
|
var value = new ExtendedColliderShapeSphere();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="offset"){
|
|
value.Offset = __shape__sphere_Deserialize_Offset(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="radius"){
|
|
value.Radius = kv.Value.GetSingle();
|
|
continue;
|
|
}
|
|
|
|
if(key=="inside"){
|
|
value.Inside = kv.Value.GetBoolean();
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static float[] __shape__sphere_Deserialize_Offset(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 ExtendedColliderShapeCapsule __shape_Deserialize_Capsule(JsonNode parsed)
|
|
{
|
|
var value = new ExtendedColliderShapeCapsule();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="offset"){
|
|
value.Offset = __shape__capsule_Deserialize_Offset(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="radius"){
|
|
value.Radius = kv.Value.GetSingle();
|
|
continue;
|
|
}
|
|
|
|
if(key=="tail"){
|
|
value.Tail = __shape__capsule_Deserialize_Tail(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="inside"){
|
|
value.Inside = kv.Value.GetBoolean();
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static float[] __shape__capsule_Deserialize_Offset(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 float[] __shape__capsule_Deserialize_Tail(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 ExtendedColliderShapePlane __shape_Deserialize_Plane(JsonNode parsed)
|
|
{
|
|
var value = new ExtendedColliderShapePlane();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="offset"){
|
|
value.Offset = __shape__plane_Deserialize_Offset(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="normal"){
|
|
value.Normal = __shape__plane_Deserialize_Normal(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static float[] __shape__plane_Deserialize_Offset(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 float[] __shape__plane_Deserialize_Normal(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
|