public override Capture ForceEndCapture(InputState input, CaptureData data)
 {
     if (pCapturing != null)
     {
         pCapturing.EndCapture(InputEvent.Mouse(input.ToOrthoLayerInput()));
         pCapturing = null;
     }
     return(Capture.End);
 }
Esempio n. 2
0
 public override Capture ForceEndCapture(InputState input, CaptureData data)
 {
     if (pCapturing != null)
     {
         // if we don't do this, and EndCapture throws, we end up in a loop of exceptions!
         var temp = pCapturing;
         pCapturing = null;
         temp.EndCapture(InputEvent.Mouse(input.ToOrthoLayerInput()));
     }
     return(Capture.End);
 }
Esempio n. 3
0
 public override Capture UpdateCapture(InputState input, CaptureData data)
 {
     if (input.bLeftMouseDown)
     {
         pCapturing.UpdateCapture(InputEvent.Mouse(input.ToOrthoLayerInput()));
         return(Capture.Continue);
     }
     else if (input.bLeftMouseReleased)
     {
         pCapturing.EndCapture(InputEvent.Mouse(input.ToOrthoLayerInput()));
         pCapturing = null;
         return(Capture.End);
     }
     else
     {
         DebugUtil.Log(2, "Mouse2DCockpitUIBehavior.UpdateCapture: somehow ended up here without left mouse release!");
         if (pCapturing != null)
         {
             pCapturing.EndCapture(InputEvent.Mouse(input.ToOrthoLayerInput()));
             pCapturing = null;
         }
         return(Capture.End);
     }
 }
Esempio n. 4
0
        public override CaptureRequest WantsCapture(InputState input)
        {
            UIRayHit uiHit;

            if (input.bLeftMousePressed)
            {
                if (scene.Find2DCockpitUIHit(input.vMouseOrthoWorldRay, out uiHit))
                {
                    bool bCanCapture = uiHit.hitUI.WantsCapture(InputEvent.Mouse(input.ToOrthoLayerInput(), new AnyRayHit(uiHit)));
                    if (bCanCapture)
                    {
                        return(CaptureRequest.Begin(this));
                    }
                }
            }
            return(CaptureRequest.Ignore);
        }
Esempio n. 5
0
        public override Capture BeginCapture(InputState input, CaptureSide eSide)
        {
            // [TODO] we just did above...

            pCapturing = null;

            UIRayHit uiHit;

            if (input.bLeftMousePressed)
            {
                if (scene.Find2DCockpitUIHit(input.vMouseOrthoWorldRay, out uiHit))
                {
                    bool bCanCapture = uiHit.hitUI.BeginCapture(InputEvent.Mouse(input.ToOrthoLayerInput(), new AnyRayHit(uiHit)));
                    if (bCanCapture)
                    {
                        pCapturing = uiHit.hitUI;
                        return(Capture.Begin(this));
                    }
                }
            }
            return(Capture.Ignore);
        }