private void onDoubleTapped(object sender, DoubleTapEventArgs e) { if (screenshotsTakeable) { this.currentRequestCause = e.RequestCause; } }
/// <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(); }
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; } }