IEnumerator BumpSequence(CarMenuCarInput bumpee, bool fwd) { BumpSequenceRunning = true; BrakeOn = false; bumpee.BrakeOn = false; do { if (!BumpSequenceRunning) { break; } if ((transform.position.x < 1.5 && transform.position.x > -1.5))// && Mathf.Abs(transform.position.z) < 1) { BumpSequenceRunning = false; break; } SteerTowards(bumpee.transform.position, 3); yield return(null); } while (true); Accel = 0; //BrakeOn = true; bumpee.Exit(fwd); CentreStage(); BumpSequenceRunning = false; yield break; }
public void BumpInto(CarMenuCarInput bumpee, bool fwd) { if (ExitSequenceRunning) { ExitSequenceRunning = false; } trCam = GameObject.Find("CameraSpinner").transform; float Angle = Vector3.Angle(transform.position - trCam.position, Vector3.forward); if (Angle < 35) { _approach = ApproachType.Direct; } else { float rnd = Random.value; transform.localPosition = new Vector3(fwd ? 10 : -10, 0, bumpee.transform.localPosition.z * 2); } StartCoroutine(BumpSequence(bumpee, fwd)); }