public void Enter(AnimationTransitionData transition) { animator.CrossFade(animationHash, transition.transitionDuration, 0, transition.normalizedOffset); foreach (var it in components) { it.Enter(); } }
public void AddTransitionToAllStates(CharacterState target, AnimationTransitionData transitionData, bool bufferInput = true) { foreach (var it in states) { if (it != target) { it.AddTransition(target, transitionData, bufferInput); } } }
public CharacterState AddTransition(CharacterState target, AnimationTransitionData transitionData, bool bufferInput = true, StateTransition.CanEnter canEnter = null) { StateTransition transition = new StateTransition(); transition.target = target; transition.transitionRange = new RangedFloat(); transition.animationTransitionData = transitionData; transition.bufferInput = bufferInput; transition.canEnter = canEnter; transitions.Add(transition); return(this); }
public void SetCurrentState(CharacterState state, AnimationTransitionData transition) { if (currentState != null) { currentState.Exit(); } currentState = state; currentState.bufferedInput = false; if (currentState != null) { currentState.Enter(transition); } }
public void AddTransitionToAllStates(CharacterState target, ExceptionCondition exceptionCondition, RangedFloat transitionRange, AnimationTransitionData transitionData, bool bufferInput = true) { foreach (var it in states) { if (it != target && !exceptionCondition(it)) { it.AddTransition(target, transitionRange, transitionData, bufferInput); } } }