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); } }