Ejemplo n.º 1
0
    /*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);
    }
Ejemplo n.º 2
0
 public static void SetCd(AnimationState state, Timer cd)
 {
     state.AddCanEnter(cd.IsReady);
     state.AddOnEnd(cd.Restart);
 }