From 6b5018777d9cc7c362fafa3c673659770a6a5bca Mon Sep 17 00:00:00 2001 From: yum Date: Wed, 19 Feb 2025 01:38:22 -0800 Subject: Add defaultValue to toggleSpec --- YOTSCore.cs | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/YOTSCore.cs b/YOTSCore.cs index c5b46fc..4e0e6ee 100644 --- a/YOTSCore.cs +++ b/YOTSCore.cs @@ -30,6 +30,9 @@ namespace YOTS [SerializeField] public string menuPath = "/"; + [SerializeField] + public float defaultValue = 1.0f; + public ToggleSpec(string name) { this.name = name; @@ -123,7 +126,7 @@ namespace YOTS [System.Serializable] public class GeneratedAnimatorConfig { - public List parameters = new List(); + public List parameters = new List(); public List layers = new List(); public List animations = new List(); @@ -167,6 +170,13 @@ namespace YOTS public Texture2D icon; } + [System.Serializable] + public class AnimatorParameterSetting + { + public string name; + public float defaultValue; + } + public class YOTSCore { public static AnimatorController GenerateAnimator( @@ -290,9 +300,9 @@ namespace YOTS foreach (var param in animatorConfig.parameters) { var p = new AnimatorControllerParameter(); - p.name = param; + p.name = param.name; p.type = AnimatorControllerParameterType.Float; - p.defaultFloat = 0.0f; // TODO set this according to user's preference + p.defaultFloat = param.defaultValue; parameters_list.Add(p); } controller.parameters = parameters_list.ToArray(); @@ -490,13 +500,17 @@ namespace YOTS { var depthGroup = togglesByDepth[i]; AnimatorLayer layer = new AnimatorLayer(); - layer.name = i == 0 ? "BaseLayer" : $"OverrideLayer{(i-1).ToString("00")}"; + layer.name = i == 0 ? "BaseLayer" : $"OverrideLayer{(i - 1).ToString("00")}"; foreach (var toggle in depthGroup) { string paramName = toggle.name; - if (!genAnimatorConfig.parameters.Contains(paramName)) - genAnimatorConfig.parameters.Add(paramName); + if (!genAnimatorConfig.parameters.Any(p => p.name == paramName)) + genAnimatorConfig.parameters.Add(new AnimatorParameterSetting + { + name = paramName, + defaultValue = toggle.defaultValue + }); layer.directBlendTree.entries.Add(new AnimatorDirectBlendTreeEntry { name = toggle.name + "_On", @@ -955,7 +969,7 @@ namespace YOTS { name = toggle.name, valueType = toggle.type == "radial" ? VRCExpressionParameters.ValueType.Float : VRCExpressionParameters.ValueType.Bool, - defaultValue = 1f, + defaultValue = toggle.defaultValue, saved = true }); } -- cgit v1.2.3