directionThePlayerIsIn method

Direction? directionThePlayerIsIn()

Implementation

Direction? directionThePlayerIsIn() {
  Player? player = this.gameRef.player;
  if (player == null) return null;
  var diffX = position.center.dx - player.position.center.dx;
  var diffPositiveX = diffX < 0 ? diffX *= -1 : diffX;
  var diffY = position.center.dy - player.position.center.dy;
  var diffPositiveY = diffY < 0 ? diffY *= -1 : diffY;

  if (diffPositiveX > diffPositiveY) {
    if (player.position.center.dx > position.center.dx) {
      return Direction.right;
    } else if (player.position.center.dx < position.center.dx) {
      return Direction.left;
    }
  } else {
    if (player.position.center.dy > position.center.dy) {
      return Direction.down;
    } else if (player.position.center.dy < position.center.dy) {
      return Direction.up;
    }
  }

  return Direction.left;
}