modular-avatar/Runtime/ArmatureAwase/UpdateLoopController.cs

33 lines
910 B
C#
Raw Normal View History

using System;
namespace nadena.dev.modular_avatar.core.armature_lock
{
internal static class UpdateLoopController
{
internal static event Action OnArmatureLockPrepare;
internal static event Action OnArmatureLockUpdate;
internal static event Action OnMoveIndependentlyUpdate;
#if UNITY_EDITOR
[UnityEditor.InitializeOnLoadMethod]
private static void Init()
{
UnityEditor.EditorApplication.update += () =>
{
if (ArmatureLockConfig.instance.GlobalEnable)
{
OnArmatureLockPrepare?.Invoke();
OnArmatureLockUpdate?.Invoke();
}
OnMoveIndependentlyUpdate?.Invoke();
};
}
#endif
internal static void InvokeArmatureLockPrepare()
{
OnArmatureLockPrepare?.Invoke();
}
}
}