private void DoCountDown() { // 设置文字 //_titleText.text = "准备拍摄第" + (_totalPicture + 1) + "张照片"; _previewPhoto.gameObject.SetActive(false); if (_countDownNum > 1) //if (_countDownNum == 1) { UpdatePhotoMask(); _countdown.gameObject.SetActive(true); _countdownReady.gameObject.SetActive(false); _countdownText.text = (_countDownNum - 1).ToString(); StartCoroutine(WaitForOneSecond()); } else if (_countDownNum == 1) { //} else if (_countDownNum > 50) { UpdatePhotoMask(); _countdown.gameObject.SetActive(false); _countdownReady.gameObject.SetActive(true); StartCoroutine(WaitForTwoSecond()); } else { _shootFlowStatus = ShootFlowStatus.CountDownCompleted; _countDownNum = _CountDownNumCost; _countdownText.text = ""; } }
private void OnShootError(string message) { _doShootLock = false; Debug.Log("拍摄失败 : " + message); _shootFlowStatus = ShootFlowStatus.ShootCompleted; _OnErrorHappened.Invoke(); }
private void Reset() { _countDownNum = _CountDownNumCost; _totalPicture = 0; _beginFlowComplete = false; _shootFlowStatus = ShootFlowStatus.Init; _showPreview = false; ResetLock(); ResetCounts(); }
/// <summary> /// 开始拍照流程 /// </summary> private void BeginShootFlow() { if (_shootFlowStatus == ShootFlowStatus.Init) { DoShootFlowInit(); } if (_shootFlowStatus == ShootFlowStatus.DoCountDown) { DoCountDownStep(); } if (_shootFlowStatus == ShootFlowStatus.CountDownCompleted) { _shootFlowStatus = ShootFlowStatus.DoShoot; } if (_shootFlowStatus == ShootFlowStatus.DoShoot) { DoShootStep(); } if (_shootFlowStatus == ShootFlowStatus.ShootCompleted) { _shootFlowStatus = ShootFlowStatus.DoHandle; } if (_shootFlowStatus == ShootFlowStatus.DoHandle) { DoHandlePhotoStep(); } if (_shootFlowStatus == ShootFlowStatus.HandleCompleted) { Debug.Log("Do Handle Completed"); if (_totalPicture < _totalPictureConst) { _shootFlowStatus = ShootFlowStatus.Init; } else { _shootFlowStatus = ShootFlowStatus.Finished; } } if (_shootFlowStatus == ShootFlowStatus.Finished) { _beginFlowComplete = true; } }
void DoShoot() { _messageBoxAgent.UpdateMessageTemp("拍摄中!"); if (_isMock) { _doShootLock = false; _totalPicture++; _shootFlowStatus = ShootFlowStatus.ShootCompleted; } else { _cameraManager.Shoot(OnShootSuccess, OnShootError); } }
IEnumerator DoHandlePhoto() { // 显示照片 _previewPhoto.gameObject.SetActive(true); //_previewPhoto.texture = _currentPhotoTexture; yield return(new WaitForSeconds(1)); _messageBoxAgent.UpdateMessageTemp("拍摄照片成功!"); // 红点功能 _dots[_totalPicture - 1].color = Color.red; ResetLock(); _shootFlowStatus = ShootFlowStatus.HandleCompleted; }
private void OnShootSuccess(byte[] content, Texture2D tex) { Debug.Log("拍摄回调 "); _doShootLock = false; // 保存 _videoFactoryAgent.AddPhotoTexture(tex); _videoFactoryAgentNoLogo.AddPhotoTexture(tex); _previewPhoto.texture = tex; // 调整计数器 5D4 _totalPicture++; Debug.Log("拍摄成功 "); _shootFlowStatus = ShootFlowStatus.ShootCompleted; }
/// <summary> /// 拍摄流程 - 初始化 /// </summary> private void DoShootFlowInit() { _shootFlowStatus = ShootFlowStatus.DoCountDown; }