private void OnEnable() { var rawImage = GetComponent <RawImage>(); var texture = new WebCamTexture(); WebCam.StartWebCam(); WebCam.WebCamChanged .First() .Subscribe(_ => transform.rotation = Quaternion.AngleAxis(WebCam.GetDegree(), Vector3.back)) .AddTo(this); WebCam.WebCamChanged .Subscribe(x => { texture = x; rawImage.texture = x; }) .AddTo(this); Observable.EveryFixedUpdate() .TakeWhile(_ => verifierManager.CertificateId == null) .Subscribe(_ => { var data = QrCodeSystem.ReadQrCode(texture); if (data != null) { verifierManager.OnQrScanned(data); WebCam.StopWebCam(); canvasManager.NextCanvas(); } }) .AddTo(this); }
private void OnEnable() { var rawImage = GetComponent <RawImage>(); var texture = new WebCamTexture(); WebCam.StartWebCam(); WebCam.WebCamChanged .First() .Subscribe(_ => transform.rotation = Quaternion.AngleAxis(WebCam.GetDegree(), Vector3.back)) .AddTo(this); WebCam.WebCamChanged .Subscribe(x => { texture = x; rawImage.texture = x; }) .AddTo(this); Observable.EveryFixedUpdate() .TakeWhile(_ => holderManager.TimeStamp == null) .Subscribe(_ => { holderManager.SetTimeStamp(QrCodeSystem.ReadQrCode(texture)); if (holderManager.TimeStamp != null) { canvasManager.NextCanvas(); WebCam.StopWebCam(); } }) .AddTo(this); }
private void Start() { var text = GetComponent <Text>(); WebCamTexture texture = null; WebCam.WebCamChanged .Subscribe(x => { texture = x; }) .AddTo(this); Observable.EveryFixedUpdate() .Where(_ => texture != null) .Subscribe(_ => text.text = QrCodeSystem.ReadQrCode(texture)) .AddTo(this); }