// Update is called once per frame void Update() { if (tileType == 1) { GetPassengers(); if (passenger != null) { passenger.ResetPosition(); passenger.ResetDestination(); } } //Debug.DrawLine(transform.position - transform.localScale * 2, transform.position + transform.localScale * 2, Color.red); if ((Mathf.Abs(transform.position.x - targetposition.x) > 0.1f || Mathf.Abs(transform.position.y - targetposition.y) > 0.1f) && move) { transform.position += (new Vector3(targetposition.x, targetposition.y, 0) - transform.position) * 16 * Time.deltaTime; if (passenger != null) { passenger.gameObject.transform.position = transform.position - new Vector3(passengerOffset.x, passengerOffset.y, 0); } } else if (move) { move = false; foreach (BoxCollider2D box in colliders) { box.enabled = true; } transform.position = targetposition; if (passenger != null) { passenger.SetMove(true); passenger.gameObject.transform.position = transform.position - new Vector3(passengerOffset.x, passengerOffset.y, 0); } } }