public void Launch(Vector2 force) { //If force to insignificant return if (Vector2Extensions.Equals(force, Vector2.zero, 0.00000000001f)) { return; } //Neutralize potential counter-forces if so desired if (_neutralizeCounterForces) { NeutralizeCounterForces(force); } //Apply the correct force application if (_forceApplication == ForceApplication.Incremental) { ApplyIncrementalForce(force); } else if (_forceApplication == ForceApplication.Set) { ApplySetForce(force); } //Invoke on launch event _onLaunchEvent.Invoke(force); }