void Update() { if (!alive) { return; } Vector2 dir = target.position - transform.position; if (dir.magnitude > seekDist) { Vector2 seek = Steering.Seek(transform.position, rigidbody2D.velocity, target.position, maxSpeed); seek = Steering.ObstacleSweep2D(transform.position, 1, seek, 10, avoidLayers); rigidbody2D.AddForce(seek, ForceMode.Force); } else { Vector3 flee = Steering.Flee(transform.position, rigidbody2D.velocity, target.position, maxSpeed); flee = Steering.ObstacleSweep2D(transform.position, 1, flee, 10, avoidLayers); rigidbody2D.AddForce(flee, ForceMode.Force); } }