コード例 #1
0
    public void Enter(AnimationTransitionData transition)
    {
        animator.CrossFade(animationHash, transition.transitionDuration, 0, transition.normalizedOffset);

        foreach (var it in components)
        {
            it.Enter();
        }
    }
コード例 #2
0
 public void AddTransitionToAllStates(CharacterState target, AnimationTransitionData transitionData, bool bufferInput = true)
 {
     foreach (var it in states)
     {
         if (it != target)
         {
             it.AddTransition(target, transitionData, bufferInput);
         }
     }
 }
コード例 #3
0
    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);
    }
コード例 #4
0
    public void SetCurrentState(CharacterState state, AnimationTransitionData transition)
    {
        if (currentState != null)
        {
            currentState.Exit();
        }

        currentState = state;
        currentState.bufferedInput = false;

        if (currentState != null)
        {
            currentState.Enter(transition);
        }
    }
コード例 #5
0
 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);
         }
     }
 }