private bool MouseOverVessel(Vessel vessel)
{
bool result = false;
var patchRenderer = vessel.patchedConicRenderer;
if (patchRenderer == null || patchRenderer.solver == null)
return result;
var patches = patchRenderer.solver.maneuverNodes.Any()
? patchRenderer.flightPlanRenders
: patchRenderer.patchRenders;
if (patches == null)
return result;
PatchedConics.PatchCastHit hit = default(PatchedConics.PatchCastHit);
if (PatchedConics.ScreenCast(Input.mousePosition, patches, out hit))
{
result = true;
_hitOrbit = hit.pr.patch;
_hitScreenPoint = hit.GetScreenSpacePoint();
_hitUT = hit.UTatTA;
}
return result;
}