private void Update() { if (_currentCamera == null) { Fallback(); } var attitude = _currentCamera.Update(Time.unscaledDeltaTime); _target.transform.position = attitude.Position; _target.transform.LookAt(attitude.LookAt); }
public CameraAttitude Update() { var time = Time.unscaledTime - _lastChangedTime; if (time > _interval) { _lastChangedTime = Time.unscaledTime; if (!_creatures.Any()) { return(_lastCameraAttitude); } _currentIndex++; if (_currentIndex >= _creatures.Count) { _currentIndex = 0; } var creature = _creatures[_currentIndex]; var transform = creature.transform.GetChild(0).transform; _camera = new FocusCamera(transform, transitionTime: TransitionTime, initialDistance: InitialDistance, farAwayDistance: FarAwayDistance); _camera.Initialize(_lastCameraAttitude); } _lastCameraAttitude = _camera.Update(Time.unscaledDeltaTime); return(_lastCameraAttitude); }