Esempio n. 1
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);
            }
        }
Esempio n. 2
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);
            }
        }
        public override void InitAnimation(AnimationStateMachine animationStateMachine)
        {
            var idle = controller.AddNewState(ECharacterState.Idle.ToString());

            animationFlags = new bool[(int)ECharacterState.Size];

            for (int i = 0; i < ECharacterState.Size; ++i)
            {
                var state = controller.AddNewState(((ECharacterState)i).ToString());
                // check if character contains such state
                if (!state)
                {
                    continue;
                }

                idle.AddTransition(state, new AnimationBlendData(0, 0));
                state
                .AddUpdate((animationTime) => AutoTransition(controller, idle))
                .AddCanEnter(() => animationFlags[i])
                .AddOnBegin(() => animationFlags[i] = false)
                ;
            }
        }
Esempio n. 4
0
 public abstract void InitAnimation(AnimationStateMachine animationStateMachine);