Example #1
0
 public void ActionCharAnimSpineSkip(ActionCharAnimSpine action)
 {
     ActionCharAnimSpineRun(action);
 }
Example #2
0
        public float ActionCharAnimSpineRun(ActionCharAnimSpine action)
        {
            if (!action.isRunning)
            {
                action.isRunning = true;

                if (action.method == ActionCharAnimSpine.AnimMethodChar.PlayCustom && action.clip2D != "")
                {
                    action.animationComplete = false;

                    if (action.forceDirection)
                    {
                        character.SetLookDirection(action.GetLookVector(), true);
                        SetDirection(character.GetSpriteDirectionInt());
                    }

                    character.charState = CharState.Custom;

                    CharSpine.skeletonAnimation.timeScale = action.timeScale;

                    SetAnimation(action.clip2D, action.loop, CharSpine.skeletonAnimation, action.layerInt);

                    CharSpine.skeletonAnimation.state.End += action.HandleAnimComplete;

                    if (action.atTime > 0)
                    {
                        CharSpine.skeletonAnimation.state.GetCurrent(0).Time = action.atTime;
                    }

                    if (action.willWait)
                    {
                        return(action.defaultPauseTime);
                    }
                }
                else if (action.method == ActionCharAnimSpine.AnimMethodChar.ResetToIdle)
                {
                    if (action.idleAfterCustom)
                    {
                        action.layerInt = 0;
                        return(action.defaultPauseTime);
                    }
                    else
                    {
                        action.animChar.ResetBaseClips();
                        action.animChar.charState = CharState.Idle;
                    }
                }
                else if (action.method == ActionCharAnimSpine.AnimMethodChar.SetStandard)
                {
                    if (action.clip2D != "")
                    {
                        if (action.standard == AnimStandard.Idle)
                        {
                            action.animChar.idleAnimSprite = action.clip2D;
                        }
                        else if (action.standard == AnimStandard.Walk)
                        {
                            action.animChar.walkAnimSprite = action.clip2D;
                        }
                        else if (action.standard == AnimStandard.Talk)
                        {
                            action.animChar.talkAnimSprite = action.clip2D;
                        }
                        else if (action.standard == AnimStandard.Run)
                        {
                            action.animChar.runAnimSprite = action.clip2D;
                        }
                    }

                    if (action.changeSpeed)
                    {
                        if (action.standard == AnimStandard.Walk)
                        {
                            action.animChar.walkSpeedScale = action.newSpeed;
                        }
                        else if (action.standard == AnimStandard.Run)
                        {
                            action.animChar.runSpeedScale = action.newSpeed;
                        }
                    }

                    if (action.changeSound)
                    {
                        if (action.standard == AnimStandard.Walk)
                        {
                            if (action.newSound != null)
                            {
                                action.animChar.walkSound = action.newSound;
                            }
                            else
                            {
                                action.animChar.walkSound = null;
                            }
                        }
                        else if (action.standard == AnimStandard.Run)
                        {
                            if (action.newSound != null)
                            {
                                action.animChar.runSound = action.newSound;
                            }
                            else
                            {
                                action.animChar.runSound = null;
                            }
                        }
                    }
                }
            }
            else
            {
                if (action.clip2D != "")
                {
                    if (action.animationComplete)
                    {
                        CharSpine.skeletonAnimation.state.End -= action.HandleAnimComplete;
                        action.isRunning = false;
                        return(0f);
                    }
                    return(action.defaultPauseTime / 6f);
                }
            }

            return(0f);
        }