private Vector3 CalculateAcceleration(Rigidbody rigidbody, WeaponInfo info) { var localForward = rigidbody.transform.forward; var baseAcceleration = localForward * info.Acceleration * Time.deltaTime; if (!info.IsStartAccelerationFinished) { return(baseAcceleration); } var position = rigidbody.transform.position; var attractionVector = AttractorsManager.CalculateForceVectorForTarget(position, info.Weight); var vectorsSum = baseAcceleration + attractionVector; rigidbody.transform.LookAt(rigidbody.transform.position + vectorsSum); return(baseAcceleration + attractionVector); }
private void Awake( ) { AttractorsManager.RegisterAttractor(this); }