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); }
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; } }