         if @position.x > @targetPos.x
           @stopMovement()
           return true
-        # else if @checkPosition and @position.x == @oldPosition.x
-        #   @stopMovement()
-        #   @tryOtherDirection = true
-        #   return true
+        else if @checkPosition and @position.x == @oldPosition.x
+          @stopMovement()
+          @tryOtherDirection = true
+          return true
         else
           @physBody.SetLinearVelocity(new @level.physicsManager.Vec2(@velocity, 0))
           return false

        if @position.y < @targetPos.y
          @stopMovement()
          return true
        # else if @checkPosition and @position.y == @oldPosition.y
        #   @stopMovement()
        #   @tryOtherDirection = true
        #   return true
        else
          @physBody.SetLinearVelocity(new @level.physicsManager.Vec2(0, -@velocity))
          return false

        if @position.x < @targetPos.x
          @stopMovement()
          return true
        else if @checkPosition and @position.x == @oldPosition.x
          @stopMovement()
          @tryOtherDirection = true
          return true
        else
          @physBody.SetLinearVelocity(new @level.physicsManager.Vec2(-@velocity, 0))
          return false
