using System; using System.IO; using System.Linq; using System.Threading; using UniVRM10.ClothWarp.Components; using UniGLTF; using UnityEngine; using UnityEngine.UI; namespace UniVRM10.Cloth.Viewer { public class ClothViewerUI : MonoBehaviour { [SerializeField] Text m_version = default; [Header("Model")] [SerializeField] Toggle m_useAsync = default; [SerializeField] Button m_openModel = default; [SerializeField] Toggle m_showBoxMan = default; [Header("Cloth")] [SerializeField] Toggle m_useJob = default; [SerializeField] Toggle m_addClothToHips = default; [SerializeField] Button m_reconstructSprngBone = default; [SerializeField] Button m_resetSpringBone = default; [SerializeField] Toggle m_pauseSpringBone = default; [Header("Motion")] [SerializeField] Button m_openMotion = default; [SerializeField] Button m_pastePose = default; [SerializeField] Toggle ToggleMotionTPose = default; [SerializeField] Toggle ToggleMotionBVH = default; [SerializeField] ToggleGroup ToggleMotion = default; public bool IsTPose { get => ToggleMotion.ActiveToggles().FirstOrDefault() == ToggleMotionTPose; set { ToggleMotionTPose.isOn = value; ToggleMotionBVH.isOn = !value; } } [Header("Expression")] [SerializeField] Toggle m_enableLipSync = default; [SerializeField] Toggle m_enableAutoBlink = default; [SerializeField] Toggle m_enableAutoExpression = default; [SerializeField] GameObject m_target = default; [SerializeField] TextAsset m_motion; [SerializeField] TextFields m_texts = default; private void Reset() { var map = new ObjectMap(gameObject); m_version = map.Get("VrmVersion"); m_useAsync = map.Get("UseAsync"); m_openModel = map.Get