public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_constraints extension) { if (src is UniGLTF.glTFExtensionImport extensions) { foreach (var kv in extensions.ObjectItems()) { if (kv.Key.GetUtf8String() == VRMC_constraints.ExtensionNameUtf8) { extension = Deserialize(kv.Value); return(true); } } } extension = default; return(false); }
public static void SerializeTo(ref UniGLTF.glTFExtension dst, VRMC_constraints 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_constraints.ExtensionName, f.GetStoreBytes()); }
public static VRMC_constraints Deserialize(ListTreeNode <JsonValue> parsed) { var value = new VRMC_constraints(); 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 == "position") { value.Position = Deserialize_Position(kv.Value); continue; } if (key == "rotation") { value.Rotation = Deserialize_Rotation(kv.Value); continue; } if (key == "aim") { value.Aim = Deserialize_Aim(kv.Value); continue; } } return(value); }
public static void Serialize(JsonFormatter f, VRMC_constraints value) { f.BeginMap(); if (value.Extensions != null) { f.Key("extensions"); value.Extensions.Serialize(f); } if (value.Extras != null) { f.Key("extras"); value.Extras.Serialize(f); } if (value.Position != null) { f.Key("position"); Serialize_Position(f, value.Position); } if (value.Rotation != null) { f.Key("rotation"); Serialize_Rotation(f, value.Rotation); } if (value.Aim != null) { f.Key("aim"); Serialize_Aim(f, value.Aim); } f.EndMap(); }