/*protected void AutoTransition(AnimationStateMachine animationStateMachine, AnimationState animationState, * AnimationState targetState, float transitionDuration = 0.0f, float transitionOffset = 0.0f, float transitionTime = 1.0f) * { * var animator = animationStateMachine.animator; * int layer = animationStateMachine.stateMachineLayer; * var blendData = new AnimationBlendData(transitionDuration, transitionOffset); * * animationState.AddUpdate( (animationTime) => * { * if (!animator.IsInTransition(layer) && animationTime >= transitionTime) * animationStateMachine.SetCurrentState(targetState, blendData); * }); * }*/ protected void StaggerCondition(HealthController health, AnimationState animationState) { BoxValue <bool> damaged = new BoxValue <bool>(false); health.onStaggerCallback += (data) => { damaged.value = true; }; animationState.AddCanEnter(() => damaged.value); animationState.AddOnBegin(() => damaged.value = false); animationState.AddOnEnd(() => damaged.value = false); }
public static void SetCd(AnimationState state, Timer cd) { state.AddCanEnter(cd.IsReady); state.AddOnEnd(cd.Restart); }