Esempio n. 1
0
 private void onDoubleTapped(object sender, DoubleTapEventArgs e)
 {
     if (screenshotsTakeable)
     {
         this.currentRequestCause = e.RequestCause;
     }
 }
Esempio n. 2
0
    /// <summary>
    /// called when the application is started
    /// </summary>
    void Start()
    {
        // link managers
        apiManager        = ApiManager.Instance;
        screenshotManager = ScreenshotManager.Instance;
        visualTextManager = VisualTextManager.Instance;
        gesturesManager   = GesturesManager.Instance;


        // Link IconObjects, deactivate animation
        loadingIcon = Instantiate(loadingIcon);
        loadingIcon.SetActive(false);
        cursor     = GameObject.Find("CursorVisual");
        cursorSize = cursor.transform.localScale;


        // subscribe to events
        screenshotManager.ScreenshotTaken         += OnScreenshotTaken;
        apiManager.ImageAnalysed                  += onImageAnalysed;
        gesturesManager.Tapped                    += onTapped;
        gesturesManager.DoubleTapped              += onDoubleTapped;
        visualTextManager.VisualizedTextFocused   += OnVisualizedTextFocused;
        visualTextManager.VisualizedTextUnfocused += OnVisualizedTextUnfocused;

        analysingScreenshot = false;
        timeCounter         = 0;
        timeInterval        = 1;

        currentRequestCause = RequestCause.REGULAR;
        nextRequestCause    = RequestCause.REGULAR;

        screenshotsTakeable = true;


        cameraPositionResultTmp = new CameraPositionResult();

        currentId = 0;

        visualizedTextFocused    = false;
        focusedVisualizedTextTmp = "";

        dialogPanel = DialogPanel.Instance();
    }
Esempio n. 3
0
    private void onImageAnalysed(object sender, AnalyseImageEventArgs e)
    {
        if (!screenshotsTakeable && currentRequestCause == RequestCause.USERINITIATED && e.Result.OcrService == OcrService.MICROSOFTMEDIAOCR)
        {
            Destroy(regularCameraPositionResultList[regularCameraPositionResultList.Count - 1].visualizedTextObject);
            regularCameraPositionResultList.RemoveAt(regularCameraPositionResultList.Count - 1);
            return;
        }

        if (e.Result == null || e.Result.Text == "")
        {
            // Checking for Used API
            switch (e.Result.OcrService)
            {
            case OcrService.MICROSOFTAZUREOCR:

                if (initiatedCameraPositionResultList.Count > 9)
                {
                    // removing game object
                    Destroy(initiatedCameraPositionResultList[0].visualizedTextObject);

                    initiatedCameraPositionResultList.RemoveAt(0);
                }

                dialogPanel.enqueueNotification("No Text found. Please reposition yourself.");

                analysingScreenshot = false;

                Destroy(initiatedCameraPositionResultList[initiatedCameraPositionResultList.Count - 1].visualizedTextObject);
                initiatedCameraPositionResultList.RemoveAt(initiatedCameraPositionResultList.Count - 1);
                break;

            case OcrService.MICROSOFTMEDIAOCR:

                if (regularCameraPositionResultList.Count > 9)
                {
                    // removing game object
                    Destroy(regularCameraPositionResultList[0].textHighlightObject);
                    regularCameraPositionResultList.RemoveAt(0);
                }

                Destroy(regularCameraPositionResultList[regularCameraPositionResultList.Count - 1].textHighlightObject);
                regularCameraPositionResultList.RemoveAt(regularCameraPositionResultList.Count - 1);
                break;
            }
        }
        else
        {
            // check for capacity of result list
            switch (e.Result.OcrService)
            {
            case OcrService.MICROSOFTMEDIAOCR:

                if (regularCameraPositionResultList.Count > 9)
                {
                    // removing game object
                    Destroy(regularCameraPositionResultList[0].textHighlightObject);
                    regularCameraPositionResultList.RemoveAt(0);
                }

                for (int i = 0; i < regularCameraPositionResultList.Count; i++)
                {
                    if (regularCameraPositionResultList[i].id == currentId)
                    {
                        regularCameraPositionResultList[i].ocrResult = e.Result;
                        // visualize POI
                        visualTextManager.hightlightTextLocation(regularCameraPositionResultList, regularCameraPositionResultList[i]);
                        currentId++;
                        break;
                    }
                }

                break;

            case OcrService.MICROSOFTAZUREOCR:

                if (initiatedCameraPositionResultList.Count > 9)
                {
                    // removing game object
                    Destroy(initiatedCameraPositionResultList[0].visualizedTextObject);

                    initiatedCameraPositionResultList.RemoveAt(0);
                }

                for (int i = 0; i < initiatedCameraPositionResultList.Count; i++)
                {
                    if (initiatedCameraPositionResultList[i].id == currentId)
                    {
                        initiatedCameraPositionResultList[i].ocrResult = e.Result;
                        // visualize text
                        visualTextManager.visualizeText(initiatedCameraPositionResultList, initiatedCameraPositionResultList[i]);
                        currentId++;
                        break;
                    }
                }
                break;
            }
        }


        if (!screenshotsTakeable && currentRequestCause == RequestCause.USERINITIATED)
        {
            screenshotsTakeable      = true;
            this.currentRequestCause = RequestCause.REGULAR;
            // this.nextRequestCause = RequestCause.REGULAR;
            this.screenshotManager._screenshotsTakeable = true;
            return;
        }
    }