/** * Copyright(c) Live2D Inc. All rights reserved. * * Use of this source code is governed by the Live2D Open Software license * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. */ using System; using UnityEngine; namespace Live2D.Cubism.Framework.Json { /// /// Handles display info from cdi3.json. /// [Serializable] public sealed class CubismDisplayInfo3Json { /// /// Loads a cdi3.json. /// /// cdi3.json to deserialize. /// Deserialized cdi3.json on success; otherwise. public static CubismDisplayInfo3Json LoadFrom(string cdi3Json) { if (string.IsNullOrEmpty(cdi3Json)) { return null; } var ret = JsonUtility.FromJson(cdi3Json); return ret; } #region Json Data /// /// Json file format version. /// [SerializeField] public int Version; /// /// Array of model parameters. /// [SerializeField] public SerializableParameters[] Parameters; /// /// Array of ParameterGroups. /// [SerializeField] public SerializableParameterGroups[] ParameterGroups; /// /// Array of Parts. /// [SerializeField] public SerializableParts[] Parts; #endregion #region Json Helpers [Serializable] public struct SerializableParameters { /// /// The ID of the parameter. /// [SerializeField] public string Id; /// /// The Group ID of the parameter. /// [SerializeField] public string GroupId; /// /// The Name of the parameter. /// [SerializeField] public string Name; } [Serializable] public struct SerializableParameterGroups { /// /// The ID of the parameter. /// [SerializeField] public string Id; /// /// The Group ID of the parameter. /// [SerializeField] public string GroupId; /// /// The Name of the parameter. /// [SerializeField] public string Name; } [Serializable] public struct SerializableParts { /// /// The ID of the part. /// [SerializeField] public string Id; /// /// The Name of the part. /// [SerializeField] public string Name; } #endregion } }