13 #pragma warning disable 0649
15 private Animator _animator;
18 private bool _revertOnDisable =
true;
21 private AnimatorControllerParameterType _type = AnimatorControllerParameterType.Float;
24 private string _paramName;
27 private bool _boolValue;
30 private int _intValue;
33 private float _floatValue;
34 #pragma warning restore 0649
36 private object _defaultValue;
38 private void Awake() {
40 case AnimatorControllerParameterType.Bool:
41 _defaultValue = _animator.GetBool(_paramName);
43 case AnimatorControllerParameterType.Int:
44 _defaultValue = _animator.GetInteger(_paramName);
46 case AnimatorControllerParameterType.Float:
47 _defaultValue = _animator.GetFloat(_paramName);
52 private void OnEnable() {
54 case AnimatorControllerParameterType.Bool:
55 _animator.SetBool(_paramName, _boolValue);
57 case AnimatorControllerParameterType.Int:
58 _animator.SetInteger(_paramName, _intValue);
60 case AnimatorControllerParameterType.Float:
61 _animator.SetFloat(_paramName, _floatValue);
63 case AnimatorControllerParameterType.Trigger:
64 _animator.SetTrigger(_paramName);
69 private void OnDisable() {
70 if (_revertOnDisable) {
72 case AnimatorControllerParameterType.Bool:
73 _animator.SetBool(_paramName, (
bool)_defaultValue);
75 case AnimatorControllerParameterType.Int:
76 _animator.SetInteger(_paramName, (
int)_defaultValue);
78 case AnimatorControllerParameterType.Float:
79 _animator.SetFloat(_paramName, (
float)_defaultValue);
81 case AnimatorControllerParameterType.Trigger:
82 _animator.ResetTrigger(_paramName);