//Calculates the intercept point protected override void CalculateIntercept() { Rigidbody rbTarget = controller.Player.GetComponent <Rigidbody>(); Vector3 targetPosition = controller.Player.transform.position; //velocities Vector3 velocity = controller.Rigid ? controller.Rigid.velocity : Vector3.zero; //Vector3 velocity = Vector3.zero; Vector3 targetVelocity = rbTarget ? rbTarget.velocity : Vector3.zero; //calculate intercept interceptPoint = InterceptCalculationClassNoMono.FirstOrderIntercept(controller.transform.position, velocity, currentSpeed, targetPosition, targetVelocity); }
//Calculates the intercept point protected override void CalculateIntercept() { intervalTime += Time.deltaTime; //while (true) if (intervalTime >= calculateInterval) { intervalTime = 0.0f; //yield return new WaitForSeconds(calculateInterval); //positions Vector3 targetPosition = controller.Player.transform.position; //velocities Vector3 velocity = controller.Rigid ? controller.Rigid.velocity : Vector3.zero; //Vector3 velocity = Vector3.zero; Vector3 targetVelocity = rbPlayer ? rbPlayer.velocity : Vector3.zero; //calculate intercept interceptPoint = InterceptCalculationClassNoMono.FirstOrderIntercept(controller.transform.position, velocity, bulletPrefab.GetComponent <ShotInfo>().Speed, targetPosition, targetVelocity); } }