// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) VRMADA, All rights reserved. // // -------------------------------------------------------------------------------------------------------------------- using System; using System.Collections.Generic; using UnityEngine; namespace UltimateXR.Avatar.Rig { /// /// Stores bone references of an Avatar's leg. /// [Serializable] public class UxrAvatarLeg { #region Inspector Properties/Serialized Fields [SerializeField] private Transform _upperLeg; [SerializeField] private Transform _lowerLeg; [SerializeField] private Transform _foot; [SerializeField] private Transform _toes; #endregion #region Public Types & Data /// /// Gets a sequence of all the non-null transforms in the leg. /// public IEnumerable Transforms { get { if (UpperLeg != null) { yield return UpperLeg; } if (LowerLeg != null) { yield return LowerLeg; } if (Foot != null) { yield return Foot; } if (Toes != null) { yield return Toes; } } } /// /// Gets or sets the upper leg transform. /// public Transform UpperLeg { get => _upperLeg; set => _upperLeg = value; } /// /// Gets or sets the lower leg transform. /// public Transform LowerLeg { get => _lowerLeg; set => _lowerLeg = value; } /// /// Gets or sets the foot transform. /// public Transform Foot { get => _foot; set => _foot = value; } /// /// Gets or sets the toes transform. /// public Transform Toes { get => _toes; set => _toes = value; } #endregion } }