Beispiel #1
0
        /// <summary>
        /// A method that triggers the zoom, ideally only to be called via an event, but public for convenience
        /// </summary>
        /// <param name="mode"></param>
        /// <param name="newFieldOfView"></param>
        /// <param name="transitionDuration"></param>
        /// <param name="duration"></param>
        public virtual void Zoom(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration)
        {
            if (_zooming)
            {
                return;
            }

            _zooming = true;
            _delta   = 0f;
            _mode    = mode;

            _startFieldOfView   = _camera.fieldOfView;
            _transitionDuration = transitionDuration;
            _duration           = duration;
            _transitionDuration = transitionDuration;
            _direction          = 1;
            _destinationReached = false;

            switch (mode)
            {
            case MMCameraZoomModes.For:
                _targetFieldOfView = newFieldOfView;
                break;

            case MMCameraZoomModes.Set:
                _targetFieldOfView = newFieldOfView;
                break;

            case MMCameraZoomModes.Reset:
                _targetFieldOfView = _initialFieldOfView;
                break;
            }
        }
Beispiel #2
0
 public MMCameraZoomEvent(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration)
 {
     Mode               = mode;
     FieldOfView        = newFieldOfView;
     TransitionDuration = transitionDuration;
     Duration           = duration;
 }
        /// <summary>
        /// A method that triggers the zoom, ideally only to be called via an event, but public for convenience
        /// </summary>
        /// <param name="mode"></param>
        /// <param name="newFieldOfView"></param>
        /// <param name="transitionDuration"></param>
        /// <param name="duration"></param>
        public virtual void Zoom(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration, bool useUnscaledTime)
        {
            if (_zooming)
            {
                return;
            }

            _zooming = true;
            _delta   = 0f;
            _mode    = mode;

            TimescaleMode       = useUnscaledTime ? TimescaleModes.Unscaled : TimescaleModes.Scaled;
            _startFieldOfView   = _virtualCamera.m_Lens.FieldOfView;
            _transitionDuration = transitionDuration;
            _duration           = duration;
            _transitionDuration = transitionDuration;
            _direction          = 1;
            _destinationReached = false;

            switch (mode)
            {
            case MMCameraZoomModes.For:
                _targetFieldOfView = newFieldOfView;
                break;

            case MMCameraZoomModes.Set:
                _targetFieldOfView = newFieldOfView;
                break;

            case MMCameraZoomModes.Reset:
                _targetFieldOfView = _initialFieldOfView;
                break;
            }
        }
Beispiel #4
0
 /// <summary>
 /// When we get an MMCameraZoomEvent we call our zoom method
 /// </summary>
 /// <param name="zoomEvent"></param>
 public virtual void OnCameraZoomEvent(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration, int channel)
 {
     if ((channel != Channel) && (channel != -1) && (Channel != -1))
     {
         return;
     }
     this.Zoom(mode, newFieldOfView, transitionDuration, duration);
 }
Beispiel #5
0
 public static void Trigger(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration)
 {
     e.Mode               = mode;
     e.FieldOfView        = newFieldOfView;
     e.TransitionDuration = transitionDuration;
     e.Duration           = duration;
     MMEventManager.TriggerEvent(e);
 }
Beispiel #6
0
 /// <summary>
 /// When we get an MMCameraZoomEvent we call our zoom method
 /// </summary>
 /// <param name="zoomEvent"></param>
 public virtual void OnCameraZoomEvent(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration, int channel, bool useUnscaledTime, bool stop = false, bool relative = false)
 {
     if ((channel != Channel) && (channel != -1) && (Channel != -1))
     {
         return;
     }
     if (stop)
     {
         _zooming = false;
         return;
     }
     this.Zoom(mode, newFieldOfView, transitionDuration, duration, relative);
 }
 static public void Trigger(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration, int channel)
 {
     OnEvent?.Invoke(mode, newFieldOfView, transitionDuration, duration, channel);
 }
Beispiel #8
0
 static public void Trigger(MMCameraZoomModes mode, float newFieldOfView, float transitionDuration, float duration, int channel, bool useUnscaledTime = false, bool stop = false, bool relative = false)
 {
     OnEvent?.Invoke(mode, newFieldOfView, transitionDuration, duration, channel, useUnscaledTime, stop, relative);
 }