示例#1
0
 public void SetCameraTransition(int id)
 {
     //SET CURVE IF NULL?
     if (_nearestInteraction == null)
     {
         _playerController.SetExtraTransition(null, Variables.CameraTransition.Fast);
         return;
     }
     Variables.ExtraCameraTransition transitionData = _nearestInteraction.GetTransitionData(id);
     Variables.CameraTransition      transitionType = (transitionData == null) ? Variables.CameraTransition.Fast : transitionData.transitionType;
     _playerController.SetExtraTransition(transitionData, transitionType);
 }
示例#2
0
    public void SetExtraTransition(Variables.ExtraCameraTransition extraTransition, Variables.CameraTransition transition)
    {
        if (extraTransition == null && _hasExtraTarget == false && _dummyTarget == null)
        {
            return;
        }
        _initialTransitionPosition = _cameraSettings.cameraAimer.position;
        if (extraTransition == null)
        {
            _dummyTarget    = null;
            _hasExtraTarget = false;
        }
        else
        {
            _hasExtraTarget = true;
            if (extraTransition.isLinear == true)
            {
                _isExtraLinear = true;
                _dummyTarget   = extraTransition.endPosition;
            }
            else
            {
                bool bezierPrepared = _transitionCurve.InitCurve(extraTransition);
                _isExtraLinear = !bezierPrepared;
                _dummyTarget   = null;
            }
        }
        if (transition == Variables.CameraTransition.Immediate)
        {
            return;
        }
        _inTransition      = true;
        _transitionCounter = 0;
        switch (transition)
        {
        case Variables.CameraTransition.Fast:
            _transitionTime = _cameraSettings.fastTransitionTime;
            break;

        case Variables.CameraTransition.Normal:
            _transitionTime = _cameraSettings.normalTransitionTime;
            break;

        case Variables.CameraTransition.Slow:
            _transitionTime = _cameraSettings.slowTransitionTime;
            break;
        }
    }