/// <summary>
 /// On Play, triggers a time scale event
 /// </summary>
 /// <param name="position"></param>
 /// <param name="attenuation"></param>
 protected override void CustomPlayFeedback(Vector3 position, float attenuation = 1.0f)
 {
     if (Active)
     {
         MMTimeScaleEvent.Trigger(MMTimeScaleMethods.For, TimeScale, TimeScaleDuration, TimeScaleLerp, TimeScaleLerpSpeed, false);
     }
 }
 /// <summary>
 /// On stop, we reset timescale if needed
 /// </summary>
 /// <param name="position"></param>
 /// <param name="feedbacksIntensity"></param>
 protected override void CustomStopFeedback(Vector3 position, float feedbacksIntensity = 1.0f)
 {
     if (Active && ResetTimescaleOnStop)
     {
         MMTimeScaleEvent.Trigger(MMTimeScaleMethods.Reset, TimeScale, 0f, false, 0f, true);
     }
 }
 /// <summary>
 /// On stop, we reset timescale if needed
 /// </summary>
 /// <param name="position"></param>
 /// <param name="feedbacksIntensity"></param>
 protected override void CustomStopFeedback(Vector3 position, float feedbacksIntensity = 1.0f)
 {
     if (!Active || !FeedbackTypeAuthorized || !ResetTimescaleOnStop)
     {
         return;
     }
     MMTimeScaleEvent.Trigger(MMTimeScaleMethods.Reset, TimeScale, 0f, false, 0f, true);
 }
        /// <summary>
        /// On Play, triggers a time scale event
        /// </summary>
        /// <param name="position"></param>
        /// <param name="feedbacksIntensity"></param>
        protected override void CustomPlayFeedback(Vector3 position, float feedbacksIntensity = 1.0f)
        {
            if (Active)
            {
                switch (Mode)
                {
                case Modes.Shake:
                    MMTimeScaleEvent.Trigger(MMTimeScaleMethods.For, TimeScale, FeedbackDuration, TimeScaleLerp, TimeScaleLerpSpeed, false);
                    break;

                case Modes.Change:
                    MMTimeScaleEvent.Trigger(MMTimeScaleMethods.For, TimeScale, 0f, false, 0f, true);
                    break;

                case Modes.Reset:
                    MMTimeScaleEvent.Trigger(MMTimeScaleMethods.Reset, TimeScale, 0f, false, 0f, true);
                    break;
                }
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// On disable, stops listening for FreezeFrame events
 /// </summary>
 void OnDisable()
 {
     MMFreezeFrameEvent.Unregister(OnMMFreezeFrameEvent);
     MMTimeScaleEvent.Unregister(OnTimeScaleEvent);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// On enable, starts listening for FreezeFrame events
 /// </summary>
 void OnEnable()
 {
     MMFreezeFrameEvent.Register(OnMMFreezeFrameEvent);
     MMTimeScaleEvent.Register(OnTimeScaleEvent);
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Sets the time scale to the specified value, instantly
 /// </summary>
 /// <param name="newNormalTimeScale">New normal time scale.</param>
 public virtual void SetTimescaleTo(float newNormalTimeScale)
 {
     MMTimeScaleEvent.Trigger(MMTimeScaleMethods.For, newNormalTimeScale, 0f, false, 0f, true);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// A method used from the inspector to test the system
 /// </summary>
 protected virtual void TestButtonToSlowDownTime()
 {
     MMTimeScaleEvent.Trigger(MMTimeScaleMethods.For, 0.5f, 3f, true, 1f, false);
 }