コード例 #1
0
        private void AvatarParameterDriverSettings(VRC_AvatarParameterDriver driver, Animator animator)
        {
            if (!_hooked || animator != AvatarAnimator)
            {
                return;
            }

            foreach (var parameter in driver.parameters)
            {
                var param = RadialMenu.GetParam(parameter.name);
                if (param == null)
                {
                    continue;
                }

                switch (parameter.type)
                {
                case VRC_AvatarParameterDriver.ChangeType.Set:
                    param.Set(RadialMenu, parameter.value);
                    break;

                case VRC_AvatarParameterDriver.ChangeType.Add:
                    param.Add(RadialMenu, parameter.value);
                    break;

                case VRC_AvatarParameterDriver.ChangeType.Random:
                    param.Random(RadialMenu, parameter.valueMin, parameter.valueMax, parameter.chance);
                    break;

                default: throw new ArgumentOutOfRangeException();
                }
            }
        }
コード例 #2
0
 private void AvatarParameterDriverInit(VRC_AvatarParameterDriver avatarParameterDriver) => avatarParameterDriver.ApplySettings += AvatarParameterDriverSettings;