// --------------------------------------------------------------------------------------------------------------------
//
// 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
}
}