// -------------------------------------------------------------------------------------------------------------------- // // 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 head. /// [Serializable] public class UxrAvatarHead { #region Inspector Properties/Serialized Fields [SerializeField] private Transform _leftEye; [SerializeField] private Transform _rightEye; [SerializeField] private Transform _jaw; [SerializeField] private Transform _head; [SerializeField] private Transform _neck; #endregion #region Public Types & Data /// /// Gets a sequence of all the non-null transforms in the head. /// public IEnumerable Transforms { get { if (LeftEye != null) { yield return LeftEye; } if (RightEye != null) { yield return RightEye; } if (Jaw != null) { yield return Jaw; } if (Head != null) { yield return Head; } if (Neck != null) { yield return Neck; } } } /// /// Gets or sets the left eye transform. /// public Transform LeftEye { get => _leftEye; set => _leftEye = value; } /// /// Gets or sets the upper leg transform. /// public Transform RightEye { get => _rightEye; set => _rightEye = value; } /// /// Gets or sets the jaw transform. /// public Transform Jaw { get => _jaw; set => _jaw = value; } /// /// Gets or sets the head transform. /// public Transform Head { get => _head; set => _head = value; } /// /// Gets or sets the neck transform. /// public Transform Neck { get => _neck; set => _neck = value; } #endregion } }