Esempio n. 1
0
    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 = "";
        }
    }
Esempio n. 2
0
    private void OnShootError(string message)
    {
        _doShootLock = false;

        Debug.Log("拍摄失败 : " + message);
        _shootFlowStatus = ShootFlowStatus.ShootCompleted;

        _OnErrorHappened.Invoke();
    }
Esempio n. 3
0
    private void Reset()
    {
        _countDownNum      = _CountDownNumCost;
        _totalPicture      = 0;
        _beginFlowComplete = false;
        _shootFlowStatus   = ShootFlowStatus.Init;
        _showPreview       = false;
        ResetLock();

        ResetCounts();
    }
Esempio n. 4
0
    /// <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;
        }
    }
Esempio n. 5
0
    void DoShoot()
    {
        _messageBoxAgent.UpdateMessageTemp("拍摄中!");

        if (_isMock)
        {
            _doShootLock = false;
            _totalPicture++;
            _shootFlowStatus = ShootFlowStatus.ShootCompleted;
        }
        else
        {
            _cameraManager.Shoot(OnShootSuccess, OnShootError);
        }
    }
Esempio n. 6
0
    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;
    }
Esempio n. 7
0
    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;
    }
Esempio n. 8
0
 /// <summary>
 ///     拍摄流程 - 初始化
 /// </summary>
 private void DoShootFlowInit()
 {
     _shootFlowStatus = ShootFlowStatus.DoCountDown;
 }