コード例 #1
0
        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);
        }