/// <summary> /// Adds all Animator parameters as properties to the class code element. NOTE that this method relies on /// classes from namespace UnityEditorInternal which can be subject to changes in future releases. /// </summary> /// <param name="animator">Animator instance to inspect.</param> /// <param name="callback">Callback delegate for processing each of the single paramters.</param> public static void ProcessAnimatorParameters(Animator animator, ProcessAnimatorParameter callback) { AnimatorController controller = GetInternalAnimatorController(animator); int countParameters = controller.parameterCount; if (countParameters > 0) { for (int i = 0; i < countParameters; i++) { AnimatorControllerParameter parameter = controller.GetParameter(i); string item = parameter.name; if (parameter.type == AnimatorControllerParameterType.Bool) { callback(AnimatorParameterType.Bool, item, "" + parameter.defaultBool); } else if (parameter.type == AnimatorControllerParameterType.Float) { callback(AnimatorParameterType.Float, item, "" + parameter.defaultFloat); } else if (parameter.type == AnimatorControllerParameterType.Int) { callback(AnimatorParameterType.Int, item, "" + parameter.defaultInt); } else if (parameter.type == AnimatorControllerParameterType.Trigger) { callback(AnimatorParameterType.Trigger, item, "(not available)"); } else { callback(AnimatorParameterType.Unknown, item, null); } } } }
/// <summary> /// Adds all Animator parameters as properties to the class code element. NOTE that this method relies on /// classes from namespace UnityEditorInternal which can be subject to changes in future releases. /// </summary> /// <param name="animator">Animator instance to inspect.</param> /// <param name="callback">Callback delegate for processing each of the single paramters.</param> public static void ProcessAnimatorParameters (Animator animator, ProcessAnimatorParameter callback) { AnimatorController controller = GetInternalAnimatorController (animator); int countParameters = controller.parameterCount; if (countParameters > 0) { for (int i = 0; i < countParameters; i++) { AnimatorControllerParameter parameter = controller.GetParameter (i); string item = parameter.name; if (parameter.type == AnimatorControllerParameterType.Bool) { callback (AnimatorParameterType.Bool, item, "" + parameter.defaultBool); } else if (parameter.type == AnimatorControllerParameterType.Float) { callback (AnimatorParameterType.Float, item, "" + parameter.defaultFloat); } else if (parameter.type == AnimatorControllerParameterType.Int) { callback (AnimatorParameterType.Int, item, "" + parameter.defaultInt); } else if (parameter.type == AnimatorControllerParameterType.Trigger) { callback (AnimatorParameterType.Trigger, item, "(not available)"); } else { callback (AnimatorParameterType.Unknown, item, null); } } } }