using System;
using System.Collections.Generic;
using UnityEngine;
namespace UniVRM10
{
///
/// SpringBone の情報をすべて保持する
///
/// * SpringBoneCollider
/// * SpringBoneJoint
///
/// は、個別の MonoBehaviour として設定する
///
///
[Serializable]
public sealed class Vrm10InstanceSpringBone
{
[SerializeField]
public List ColliderGroups = new List();
[Serializable]
public class Spring
{
[SerializeField]
public string Name;
public string GUIName(int i) => $"{i:00}:{Name}";
[SerializeField]
public List ColliderGroups = new List();
[SerializeField]
public List Joints = new List();
[SerializeField]
public Transform Center;
public Spring(string name)
{
Name = name;
}
public IEnumerable<(VRM10SpringBoneJoint, Transform)> EnumHeadTail()
{
for (int i = 0; i < Joints.Count; ++i)
{
var head = Joints[i];
if (head == null)
{
continue;
}
for (int j = i + 1; j < Joints.Count; ++j)
{
var tail = Joints[j];
if (tail != null)
{
yield return (head, tail.transform);
break;
}
}
}
}
}
[SerializeField]
public List Springs = new List();
}
}