Exemple #1
0
    public static void AutoTransition(AnimationStateMachine animationStateMachine, AnimationState targetState, float transitionDuration = 0.0f, float transitionOffset = 0.0f, float transitionTime = 1.0f)
    {
        float animationTime = animationStateMachine.animationTime;

        if (!animationStateMachine.inTransition && animationTime > transitionTime)
        {
            var blendData = new AnimationBlendData(transitionDuration, transitionOffset);
            animationStateMachine.SetCurrentState(targetState, blendData);
        }
    }
Exemple #2
0
        public AnimationState AddTransition(AnimationState target, AnimationBlendData transitionData, bool bufferInput = true, BoolMethod canEnter = null)
        {
            AnimationTransition transition = new AnimationTransition();

            transition.target          = target;
            transition.transitionRange = new RangedFloat();
            transition.blendData       = transitionData;
            transition.bufferInput     = bufferInput;
            if (canEnter != null)
            {
                transition.canEnter = canEnter;
            }

            _transitions.Add(transition);
            return(this);
        }
Exemple #3
0
    public AnimationState AddTransition(AnimationState target, AnimationBlendData transitionData, bool bufferInput = true, Func <bool> canEnter = null)
    {
        AnimationTransition transition = new AnimationTransition
        {
            target          = target,
            transitionRange = new RangedFloat(),
            blendData       = transitionData,
            bufferInput     = bufferInput
        };

        if (canEnter != null)
        {
            transition.canEnter = canEnter;
        }

        _transitions.Add(transition);
        return(this);
    }
Exemple #4
0
    public static void AutoTransition(AnimationStateMachine animationStateMachine, AnimationState targetState, AnimationBlendData blendData, float transitionTime = 1.0f)
    {
        float animationTime = animationStateMachine.animationTime;

        if (!animationStateMachine.inTransition && animationTime > transitionTime)
        {
            animationStateMachine.SetCurrentState(targetState, blendData);
        }
    }