Ваша проблема в том, что, поскольку Direction изначально ложно, вы сразу переходите к этой строке:
transform.position = new Vector3(x, y, 0);
, которая устанавливает преобразование в положение (1, 0, 0).
Не совсем уверен, что вы пытаетесь достичь, но, возможно, вы вместо этого хотите добавить координаты к позиции?
transform.position += new Vector3(x, y, 0);