private void ScheduleBeats() { Appear(); var startTime = AudioManager.Instance.beatTravelTime - AudioManager.Instance.startingDelay; while (startTime > 0) { var time = AudioSettings.dspTime - startTime; CreateBeat(leftSpawnPoint, time); CreateBeat(rightSpawnPoint, time); bonkLeft = !bonkLeft; nextIsOdd = !nextIsOdd; startTime -= AudioManager.Instance.beatDelay; } var leftBeatEvent = new AudioManager.PulseEventSubscriber(this, CreateLeftBeat, -startTime) { ignoreMusicStartTime = true }; var rightBeatEvent = new AudioManager.PulseEventSubscriber(this, CreateRightBeat, -startTime) { ignoreMusicStartTime = true }; var changeBonkEvent = new AudioManager.PulseEventSubscriber(this, ChangeBonk, -startTime, 0.1f) { ignoreMusicStartTime = true }; AudioManager.Instance.pulseSubscribers.Add(leftBeatEvent); AudioManager.Instance.pulseSubscribers.Add(rightBeatEvent); AudioManager.Instance.pulseSubscribers.Add(changeBonkEvent); }
public void Unsubscribe() { if (pulseEventSubscriber != null) { AudioManager.Instance.pulseSubscribers.Remove(pulseEventSubscriber); pulseEventSubscriber = null; } }
public void Subscribe() { if (AudioManager.Instance.IsCurrentlyPlaying) { pulseEventSubscriber = new AudioManager.PulseEventSubscriber(this, SoundlessBeat); AudioManager.Instance.pulseSubscribers.Add(pulseEventSubscriber); } }
private void UnsubscribeFromBeat() { if (pulseEventSubscriber != null) { AudioManager.Instance.pulseSubscribers.Remove(pulseEventSubscriber); pulseEventSubscriber = null; } }
private void SchedulePulse() { var bumpEvent = new AudioManager.PulseEventSubscriber(this, EqualizerBump, AudioManager.Instance.startingDelay); var pulseEvent = new AudioManager.PulseEventSubscriber(this, Pulse, AudioManager.Instance.startingDelay); AudioManager.Instance.pulseSubscribers.Add(bumpEvent); AudioManager.Instance.pulseSubscribers.Add(pulseEvent); }
private void SubscribeToBeat() { if (!AudioManager.Instance.IsCurrentlyPlaying) { return; } if (pulseEventSubscriber == null) { pulseEventSubscriber = new AudioManager.PulseEventSubscriber(this, Pulse); AudioManager.Instance.pulseSubscribers.Add(pulseEventSubscriber); } }
public void Unsubscribe() { if (pulseEventSubscriber != null) { if (AudioManager.Instance.IsCurrentlyPlaying) { AudioManager.Instance.pulseSubscribers.Remove(pulseEventSubscriber); } else { AudioManager.Instance.pulseSubscribersForNextPlay.Remove(pulseEventSubscriber); } pulseEventSubscriber = null; } }
private void Subscribe() { if (pulseEventSubscriber == null) { pulseEventSubscriber = new AudioManager.PulseEventSubscriber(this, Pulse); if (AudioManager.Instance.IsCurrentlyPlaying) { AudioManager.Instance.pulseSubscribers.Add(pulseEventSubscriber); } else { AudioManager.Instance.pulseSubscribersForNextPlay.Add(pulseEventSubscriber); } } }