         @spriteState.viewDirection = 3
         return false
 
-
+  # TODO: (pixel)??
   stopMovement: (pixel) ->
     @physBody.SetLinearVelocity(new @level.physicsManager.Vec2(0, 0))
     @moving.down        = false


  moveOnXAxis: (ax, dx) ->
    distance = @getActualMoveDistance(ax)
    # if dx > 0 move right else move left
    if dx > 0
      @moveRight(distance)
    else



  # TODO: broken, fix it
  moveToPosition:(@positionToMoveTo, @maxDistance) ->
    @tasks.push () ->
      # first call
      if not @onFollow
        @onFollow = true
        @tasks.shift()
        @savedTasks = _.clone(@tasks)
        @tasks = []

      threshold = @velocity / 50
      threshold = 3 if threshold < 3

      # dx = x2 - x1
      dx = Math.floor(@positionToMoveTo.x - @position.x)
      dy = Math.floor(@positionToMoveTo.y - @position.y)
      # ax = |x2 - x1| = d(x1, x2)
      ax = Math.abs(dx)
      ay = Math.abs(dy)

      # if @positionToMoveTo reached stop
      # if (ax <= threshold and ay <= threshold) or (@position.x == positionToMoveTo.x and @position.y == positionToMoveTo.y)
      if (@positionToMoveTo.x - threshold < @position.x < @positionToMoveTo.x + threshold) and (@positionToMoveTo.y - threshold < @position.y < @positionToMoveTo.y + threshold)
        @position.x = @positionToMoveTo.x
        @position.y = @positionToMoveTo.y
        @positionToMoveTo = null
        @onFollow = false
        @tasks = @savedTasks
