// Update is called once per frame void Update() { if (Vector3.Distance(transform.position, path.EndPos) > 0.01f) { float timeFraction = (Time.time - path.StartTime) / path.Duration; transform.position = Vector3.Lerp(path.StartPos, path.EndPos, timeFraction); } else { //transform.position = path.EndPos; curPoint++; if (curPoint == points.Length) { curPoint = 0; } path.Link(points[curPoint]); transform.Rotate(transform.forward, -90); } //transform.position = transform.position + (Vector3)dir; //transform.position = transform.position + (speed * Time.deltaTime * transform.right); }