返回所有与类型 T
匹配或派生自 T
的 StateMachineBehaviour。如果未找到任何匹配项,则返回 null。
using UnityEngine; using System.Collections;
// An example StateMachineBehaviour. public class BreathBehaviour : StateMachineBehaviour { public bool fastBreath;
// OnStateUpdate is called at each Update frame between OnStateEnter and OnStateExit callback override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.SetBool("FastBreath", fastBreath); } }
public class RunBehaviour : StateMachineBehaviour { // OnStateUpdate is called at each Update frame between OnStateEnter and OnStateExit callback override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { BreathBehaviour[] breathBehaviours = animator.GetBehaviours<BreathBehaviour>(); for (int i = 0; i < breathBehaviours.Length; i++) breathBehaviours[i].fastBreath = true; } }