Пример #1
0
        /// <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);
					}
				}
			}
		}