I wanted to make enemies whom can patrol with a given distance.
Everything is good until it reaches distance<=0.
I don’t know what is wrong with it.

This is my code:
public class EnemyController : MonoBehaviour {
public float speed = 3f;
private float startingPositionX;
public float endingPositionX = 5f;
private float distance;
private float originalDistance;
private float originalPositionX;
void Start(){
startingPositionX = transform.position.x;
distance = endingPositionX - startingPositionX;
originalDistance = endingPositionX - startingPositionX;
originalPositionX = transform.position.x;
}
void FixedUpdate(){
if (distance >= 0) {
rigidbody2D.velocity = new Vector2 (speed, rigidbody2D.velocity.y);
distance = endingPositionX - transform.position.x;
print (distance);
}
else if (distance <= 0) {
startingPositionX = originalPositionX + endingPositionX;
endingPositionX =originalPositionX;
Flip ();
print ("elerte");
rigidbody2D.velocity = new Vector2 (-speed, rigidbody2D.velocity.y);
distance = Mathf.Abs(endingPositionX - transform.position.x);
}
}
void Flip(){
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}