Esempio n. 1
0
    private void Update()
    {
        if (!timeManager.isGamePaused)
        {
            if (input.isPressingShift && input.PressedRewind)
            {
                StartRewinding(player);
            }
            else if (input.PressedRewind && !carrier.isCarrying && ray.hitSomething)
            {
                Rewindable rewindable = ray.hitInfo.collider.GetComponent <Rewindable>();
                if (rewindable != null)
                {
                    StartRewinding(rewindable);
                }
            }
            else if (isRewinding)
            {
                SetCountdownText();

                if (!input.isPressingRewind)
                {
                    StopRewinding();
                }
            }
        }
    }
Esempio n. 2
0
 void CheckRewindable(MonoBehaviour effect)
 {
     if (effect is Rewindable)
     {
         this.lastRewindable = (Rewindable)effect;
     }
 }
Esempio n. 3
0
 private void StopRewinding()
 {
     rewindedObject.OutOfRecords -= StopRewinding;
     rewindedObject.StopRewinding();
     rewindedObject = null;
     AudioManager.instance.Stop(AudioType.Rewind);
     chromaticAberration.active = false;
     rewindCountdown.SetActive(false);
 }
Esempio n. 4
0
 public static void Register(Rewindable rewindable)
 {
     if (ActiveObjects.ContainsKey(rewindable.getId()))
     {
         return;
     }
     ActiveObjects[rewindable.getId()] = rewindable;
     NewlyAdded.Add(rewindable.getId());
 }
Esempio n. 5
0
 private void StartRewinding(Rewindable rewindable)
 {
     rewindedObject = rewindable;
     rewindedObject.OutOfRecords += StopRewinding;
     rewindedObject.StartRewinding();
     AudioManager.instance.Play(AudioType.Rewind);
     chromaticAberration.active = true;
     SetCountdownText();
     rewindCountdown.SetActive(true);
 }
Esempio n. 6
0
 void Rewind()
 {
     if (lastRewindable != null)
     {
         if (!lastRewindable.isActive())
         {
             lastRewindable = null;
             return;
         }
         source.PlayOneShot(rewindSFX);
         lastRewindable.Rewind();
     }
 }