Example #1
0
    void CameraZoom(bool zoomIn)
    {
        _isZoomedOut   = !zoomIn;
        Cursor.visible = !zoomIn;
        CameraBattery.CacheBatteryAmount();
        Time.timeScale = zoomIn ? 1f : 0.01f;

        CameraEffects.LensDistortionStatus(zoomIn);

        IsZoomedOut.Value = _isZoomedOut;

        var lensPos = CameraBounds.Lens.transform.position;
        var pos     = new Vector3(lensPos.x, lensPos.y, -200f);

        _zoomTweenSeq?.Kill();

        if (zoomIn)
        {
            CameraFlash();

            _zoomTweenSeq.Append(transform.DOMoveY(lensPos.y, CamTransition * 3f).OnComplete(() =>
            {
                _mainCam.DOOrthoSize(7f, CamTransition).OnComplete(() =>
                {
                    transform.DOMove(CameraBounds.transform.position, 0.005f).SetEase(Ease.Flash);
                    _mainCam.DOOrthoSize(_zoomInOrthoSize, 0.01f);

                    // UI Callback
                });
            }));
        }
        else
        {
            _zoomTweenSeq.Append(transform.DOMove(pos, 0.01f * Time.unscaledDeltaTime, true));

            _zoomTweenSeq.Append(_mainCam.DOOrthoSize(_zoomOutOrthoSize, CamTransition * Time.unscaledDeltaTime).OnComplete(() =>
            {
                transform.DOMoveY(CameraScreenTrans.position.y, CamTransition * Time.unscaledDeltaTime, false);

                // UI Callback
            }));
        }
    }
Example #2
0
 public void FillBattery(float amount)
 {
     Battery.FillAmount(amount);
     Battery.CacheBatteryAmount();
 }