Пример #1
0
    void InitTouchSystem()
    {
        // Pan
        PanRecognizer panRecognizer = new PanRecognizer();

        panRecognizer.gestureCanTrigger = () =>
        {
            bool isInViewport = geoCamera.IsInViewport();
            if (!isInViewport)
            {
                return(false);
            }

            if (state == GeoState.Normal)
            {
                return(canCameraRotate);
            }
            return(currentOperation.CanRotateCamera);
        };
        panRecognizer.gestureBeginEvent += (r) =>
        {
            isCameraRotate = true;
            geoUI.activePanel.Clear();
        };

        panRecognizer.gestureRecognizedEvent += (r) =>
        {
            Vector2 delta = -(r.deltaPosition) * 0.1f;
            geoCamera.Rotate(delta);
        };

        panRecognizer.gestureEndEvent += (r) =>
        {
            isCameraRotate = false;
        };

        TouchSystem.addRecognizer(panRecognizer);
    }