public override void OnBodyGUI() { AnimatorNode target = ((AnimatorNode)this.target); //EditorGUILayout.LabelField("GameObject:", target.gameObject!=null?target.gameObject.name:"null"); target.Animator = (UnityEngine.Animator)EditorGUILayout.ObjectField("Animator", target.Animator, typeof(UnityEngine.Animator), true); foreach (NodePort port in target.Outputs) { NodeEditorGUILayout.PortField(port); } /* * if (target.gameObject == null) * { * * if (GUILayout.Button("Bind object")) * { * target.Bind(Selection.activeGameObject); * }; * }*/ if (target.gameObject != null && target.initialized) { if (target.Animator != null) { target.Animator.runtimeAnimatorController = (UnityEngine.RuntimeAnimatorController)EditorGUILayout.ObjectField("Controller", target.Animator.runtimeAnimatorController, typeof(UnityEngine.RuntimeAnimatorController), true); for (int p = 0; p < target.Animator.parameters.Length; ++p) { AnimatorControllerParameter parameter = target.Animator.parameters[p]; if (parameter.name != null && parameter.name.Length > 0) { if (parameter.type == AnimatorControllerParameterType.Bool || parameter.type == AnimatorControllerParameterType.Trigger) { target.Animator.SetBool(parameter.nameHash, EditorGUILayout.ToggleLeft(parameter.name, target.Animator.GetBool(parameter.nameHash))); } else if (parameter.type == AnimatorControllerParameterType.Int) { target.Animator.SetInteger(parameter.nameHash, EditorGUILayout.IntField(parameter.name, target.Animator.GetInteger(parameter.nameHash))); } else if (parameter.type == AnimatorControllerParameterType.Float) { target.Animator.SetFloat(parameter.nameHash, EditorGUILayout.FloatField(parameter.name, target.Animator.GetFloat(parameter.nameHash))); } } } } /* * if (GUILayout.Button("Rebind")) * { * target.Bind(Selection.activeGameObject,true); * };*/ } else { target.Bind(target.gameObject, true); } }