using System.Collections.Generic; using System.Linq; using UnityEngine; namespace UniVRM10 { /// /// VRMC_node_collider /// [AddComponentMenu("VRM10/VRM10SpringBoneColliderGroup")] public class VRM10SpringBoneColliderGroup : MonoBehaviour { [SerializeField] List m_colliders = new List(); public IEnumerable Colliders { get { return m_colliders.Where(x => x != null); } set { m_colliders = value.ToList(); OnValidate(); } } public void AddCollider(VRM10SpringBoneCollider collider) { if (collider == null) { Debug.LogWarning("null collider"); return; } if (m_colliders == null) { m_colliders = new List(); } m_colliders.Add(collider); } void OnValidate() { if (m_colliders.Any(x => x == null)) { Debug.LogWarning($"{this} remove null"); m_colliders = m_colliders.Where(x => x != null).ToList(); } } } }