Ejemplo n.º 1
0
        // 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);
        }
Ejemplo n.º 2
0
        }          // 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);
        }