コード例 #1
0
ファイル: Statemachine.cs プロジェクト: Sinnaj94/csharp-games
        public void SwitchState()
        {
            Vector2 speed = caracter.GetSpeed();

            speed.X      = Math.Abs(speed.X);
            speed.Y      = Math.Abs(speed.Y);
            currentState = idle;
            if (caracter.isDead == true)
            {
                currentState = dead;
            }
            else if (caracter.isWaiting)
            {
                currentState = waiting;
            }
            else if (attack.Status == StateStatus.Running)
            {
                currentState = attack;
            }
            else if (alternateAttack.Status == StateStatus.Running)
            {
                currentState = alternateAttack;
            }
            else if (speed.X > .1 || speed.Y > .1)
            {
                currentState = walk;
                walk.Animation.SetSpeed(caracter.GetTotalSpeed() * 4);
            }
        }