mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-13 22:09:53 -05:00
223 lines
4.9 KiB
C#
223 lines
4.9 KiB
C#
// This file is generated from JsonSchema. Don't modify this source code.
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UniJSON;
|
|
|
|
namespace UniGLTF.Extensions.VRMC_springBone_extended_collider {
|
|
|
|
static public class GltfSerializer
|
|
{
|
|
|
|
public static void SerializeTo(ref UniGLTF.glTFExtension dst, VRMC_springBone_extended_collider extension)
|
|
{
|
|
if (dst is glTFExtensionImport)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
if (!(dst is glTFExtensionExport extensions))
|
|
{
|
|
extensions = new glTFExtensionExport();
|
|
dst = extensions;
|
|
}
|
|
|
|
var f = new JsonFormatter();
|
|
Serialize(f, extension);
|
|
extensions.Add(VRMC_springBone_extended_collider.ExtensionName, f.GetStoreBytes());
|
|
}
|
|
|
|
|
|
public static void Serialize(JsonFormatter f, VRMC_springBone_extended_collider value)
|
|
{
|
|
f.BeginMap();
|
|
|
|
|
|
if(value.Extensions!=null){
|
|
f.Key("extensions");
|
|
(value.Extensions as glTFExtension).Serialize(f);
|
|
}
|
|
|
|
if(value.Extras!=null){
|
|
f.Key("extras");
|
|
(value.Extras as glTFExtension).Serialize(f);
|
|
}
|
|
|
|
if(!string.IsNullOrEmpty(value.SpecVersion)){
|
|
f.Key("specVersion");
|
|
f.Value(value.SpecVersion);
|
|
}
|
|
|
|
if(value.Shape!=null){
|
|
f.Key("shape");
|
|
Serialize_Shape(f, value.Shape);
|
|
}
|
|
|
|
f.EndMap();
|
|
}
|
|
|
|
public static void Serialize_Shape(JsonFormatter f, ExtendedColliderShape value)
|
|
{
|
|
f.BeginMap();
|
|
|
|
|
|
if(value.Extensions!=null){
|
|
f.Key("extensions");
|
|
(value.Extensions as glTFExtension).Serialize(f);
|
|
}
|
|
|
|
if(value.Extras!=null){
|
|
f.Key("extras");
|
|
(value.Extras as glTFExtension).Serialize(f);
|
|
}
|
|
|
|
if(value.Sphere!=null){
|
|
f.Key("sphere");
|
|
__shape_Serialize_Sphere(f, value.Sphere);
|
|
}
|
|
|
|
if(value.Capsule!=null){
|
|
f.Key("capsule");
|
|
__shape_Serialize_Capsule(f, value.Capsule);
|
|
}
|
|
|
|
if(value.Plane!=null){
|
|
f.Key("plane");
|
|
__shape_Serialize_Plane(f, value.Plane);
|
|
}
|
|
|
|
f.EndMap();
|
|
}
|
|
|
|
public static void __shape_Serialize_Sphere(JsonFormatter f, ExtendedColliderShapeSphere value)
|
|
{
|
|
f.BeginMap();
|
|
|
|
|
|
if(value.Offset!=null&&value.Offset.Count()>=3){
|
|
f.Key("offset");
|
|
__shape__sphere_Serialize_Offset(f, value.Offset);
|
|
}
|
|
|
|
if(value.Radius.HasValue){
|
|
f.Key("radius");
|
|
f.Value(value.Radius.GetValueOrDefault());
|
|
}
|
|
|
|
if(value.Inside.HasValue){
|
|
f.Key("inside");
|
|
f.Value(value.Inside.GetValueOrDefault());
|
|
}
|
|
|
|
f.EndMap();
|
|
}
|
|
|
|
public static void __shape__sphere_Serialize_Offset(JsonFormatter f, float[] value)
|
|
{
|
|
f.BeginList();
|
|
|
|
foreach(var item in value)
|
|
{
|
|
f.Value(item);
|
|
|
|
}
|
|
f.EndList();
|
|
}
|
|
|
|
public static void __shape_Serialize_Capsule(JsonFormatter f, ExtendedColliderShapeCapsule value)
|
|
{
|
|
f.BeginMap();
|
|
|
|
|
|
if(value.Offset!=null&&value.Offset.Count()>=3){
|
|
f.Key("offset");
|
|
__shape__capsule_Serialize_Offset(f, value.Offset);
|
|
}
|
|
|
|
if(value.Radius.HasValue){
|
|
f.Key("radius");
|
|
f.Value(value.Radius.GetValueOrDefault());
|
|
}
|
|
|
|
if(value.Tail!=null&&value.Tail.Count()>=3){
|
|
f.Key("tail");
|
|
__shape__capsule_Serialize_Tail(f, value.Tail);
|
|
}
|
|
|
|
if(value.Inside.HasValue){
|
|
f.Key("inside");
|
|
f.Value(value.Inside.GetValueOrDefault());
|
|
}
|
|
|
|
f.EndMap();
|
|
}
|
|
|
|
public static void __shape__capsule_Serialize_Offset(JsonFormatter f, float[] value)
|
|
{
|
|
f.BeginList();
|
|
|
|
foreach(var item in value)
|
|
{
|
|
f.Value(item);
|
|
|
|
}
|
|
f.EndList();
|
|
}
|
|
|
|
public static void __shape__capsule_Serialize_Tail(JsonFormatter f, float[] value)
|
|
{
|
|
f.BeginList();
|
|
|
|
foreach(var item in value)
|
|
{
|
|
f.Value(item);
|
|
|
|
}
|
|
f.EndList();
|
|
}
|
|
|
|
public static void __shape_Serialize_Plane(JsonFormatter f, ExtendedColliderShapePlane value)
|
|
{
|
|
f.BeginMap();
|
|
|
|
|
|
if(value.Offset!=null&&value.Offset.Count()>=3){
|
|
f.Key("offset");
|
|
__shape__plane_Serialize_Offset(f, value.Offset);
|
|
}
|
|
|
|
if(value.Normal!=null&&value.Normal.Count()>=3){
|
|
f.Key("normal");
|
|
__shape__plane_Serialize_Normal(f, value.Normal);
|
|
}
|
|
|
|
f.EndMap();
|
|
}
|
|
|
|
public static void __shape__plane_Serialize_Offset(JsonFormatter f, float[] value)
|
|
{
|
|
f.BeginList();
|
|
|
|
foreach(var item in value)
|
|
{
|
|
f.Value(item);
|
|
|
|
}
|
|
f.EndList();
|
|
}
|
|
|
|
public static void __shape__plane_Serialize_Normal(JsonFormatter f, float[] value)
|
|
{
|
|
f.BeginList();
|
|
|
|
foreach(var item in value)
|
|
{
|
|
f.Value(item);
|
|
|
|
}
|
|
f.EndList();
|
|
}
|
|
|
|
} // class
|
|
} // namespace
|