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