mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-12 21:45:06 -05:00
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
using UniVRM10;
|
|
|
|
namespace RotateParticle.Components
|
|
{
|
|
[CustomEditor(typeof(Warp))]
|
|
class WarpEditor : Editor
|
|
{
|
|
private Warp m_target;
|
|
private Vrm10Instance m_vrm;
|
|
|
|
void OnEnable()
|
|
{
|
|
if (target == null)
|
|
{
|
|
return;
|
|
}
|
|
m_target = (Warp)target;
|
|
m_vrm = m_target.GetComponentInParent<Vrm10Instance>();
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
var n = EditorUtility.GetDirtyCount(m_target.GetInstanceID());
|
|
base.OnInspectorGUI();
|
|
if (n != EditorUtility.GetDirtyCount(m_target.GetInstanceID()))
|
|
{
|
|
if (m_vrm != null)
|
|
{
|
|
if (Application.isPlaying)
|
|
{
|
|
m_vrm.Runtime.SpringBone.SetJointLevel(m_target.transform, m_target.BaseSettings);
|
|
foreach (var p in m_target.Particles)
|
|
{
|
|
m_vrm.Runtime.SpringBone.SetJointLevel(p.Transform, p.GetSettings(m_target.BaseSettings));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |