// raycasts into 2D Cockpit if enabled public bool Find2DCockpitUIHit(Ray3f orthoEyeRay, out UIRayHit bestHit) { if (Use2DCockpit == false) { throw new Exception("FContext.Find2DUIHit: 2D UI layer is not enabled!"); } bestHit = null; if (options.EnableCockpit) { return(activeCockpit.FindUIRayIntersection(orthoEyeRay, out bestHit)); } return(false); }
} // end Update public bool FindUIHit(Ray eyeRay, out UIRayHit bestHit) { bestHit = new UIRayHit(); UIRayHit sceneHit = null, cockpitHit = null; if (scene.FindUIRayIntersection(eyeRay, out sceneHit)) { bestHit = sceneHit; } if (cockpit.FindUIRayIntersection(eyeRay, out cockpitHit)) { if (cockpitHit.fHitDist < bestHit.fHitDist) { bestHit = cockpitHit; } } return(bestHit.IsValid); }