private void Move() { if (waypointIndex <= waypoints.Count - 1) { var targetPosition = waypoints[waypointIndex].transform.position; var movementThisFrame = enemyType.GetMoveSpeed() * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, targetPosition, movementThisFrame); if (transform.position == targetPosition) { if (waypointIndex == waypoints.Count - 1) { waypointIndex--; } else { waypointIndex++; } } } else { Destroy(gameObject); } }