void update_killer(Orbit obt, double startUT, double endUT) { while (!KillerOrbit && obt != null && obt.referenceBody != null && obt.StartUT < endUT) { var PeR_UT = obt.StartUT + obt.timeToPe; var MinPeR = obt.MinPeR(); KillerOrbit |= PeR_UT <= obt.EndUT && startUT <= PeR_UT && PeR_UT <= endUT && obt.PeR <= MinPeR; KillerOrbit |= obt.Contains(startUT) && obt.getRelativePositionAtUT(startUT).magnitude <= MinPeR; KillerOrbit |= obt.Contains(endUT) && obt.getRelativePositionAtUT(endUT).magnitude <= MinPeR; if (obt.patchEndTransition == Orbit.PatchTransitionType.FINAL) { break; } obt = obt.nextPatch; } }