diff --git a/CHANGELOG.md b/CHANGELOG.md index f5333b4..6fbe8a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added a debug feature to profile a test build (#214) +- Added `ParameterProvider.SubParameters()` for `ParameterNamespace.PhysBonesPrefix` parameters (#196) ### Fixed - Specify zh-* font to make the font normal diff --git a/Editor/VRChat/ParameterIntrospection/IParameterProvider.cs b/Editor/VRChat/ParameterIntrospection/IParameterProvider.cs index f5df7e0..5d496fa 100644 --- a/Editor/VRChat/ParameterIntrospection/IParameterProvider.cs +++ b/Editor/VRChat/ParameterIntrospection/IParameterProvider.cs @@ -187,6 +187,22 @@ public bool IsAnimatorOnly /// public bool WantSynced { get; set; } + public IEnumerable SubParameters() + { + if (Namespace == ParameterNamespace.Animator) + { + return new ProvidedParameter[] { this }; + } + return new ProvidedParameter[] + { + new ProvidedParameter(OriginalName + "_IsGrabbed", ParameterNamespace.Animator, Source, Plugin, AnimatorControllerParameterType.Bool) { IsHidden = IsHidden, WantSynced = WantSynced }, + new ProvidedParameter(OriginalName + "_IsPosed", ParameterNamespace.Animator, Source, Plugin, AnimatorControllerParameterType.Bool) { IsHidden = IsHidden, WantSynced = WantSynced }, + new ProvidedParameter(OriginalName + "_Angle", ParameterNamespace.Animator, Source, Plugin, AnimatorControllerParameterType.Float) { IsHidden = IsHidden, WantSynced = WantSynced }, + new ProvidedParameter(OriginalName + "_Stretch", ParameterNamespace.Animator, Source, Plugin, AnimatorControllerParameterType.Float) { IsHidden = IsHidden, WantSynced = WantSynced }, + new ProvidedParameter(OriginalName + "_Squish", ParameterNamespace.Animator, Source, Plugin, AnimatorControllerParameterType.Float) { IsHidden = IsHidden, WantSynced = WantSynced }, + }; + } + public ProvidedParameter Clone() { return (ProvidedParameter)MemberwiseClone(); @@ -259,4 +275,4 @@ public interface IParameterProvider ; #endif } -} \ No newline at end of file +}