public void QueueJob(IAudioJob a_job) { if (!_queuedAudioJobs.Contains(a_job)) { _queuedAudioJobs.Enqueue(a_job); } }
public void AddSyncJob(IAudioJob a_job) { if (_syncAudioJobs.Contains(a_job)) { return; } a_job.OnStart(); _syncAudioJobs.Add(a_job); }
private void RunQueuedJobs(float a_fDeltaTime) { if (_currentQueueJob != null) { _currentQueueJob.Run(a_fDeltaTime); if (_currentQueueJob.IsDone()) { _currentQueueJob.OnComplete(); _currentQueueJob = null; } } if (_currentQueueJob == null && _queuedAudioJobs.Count > 0) { _currentQueueJob = _queuedAudioJobs.Dequeue(); _currentQueueJob.OnStart(); } }