Esempio n. 1
0
 public void QueueJob(IAudioJob a_job)
 {
     if (!_queuedAudioJobs.Contains(a_job))
     {
         _queuedAudioJobs.Enqueue(a_job);
     }
 }
Esempio n. 2
0
        public void AddSyncJob(IAudioJob a_job)
        {
            if (_syncAudioJobs.Contains(a_job))
            {
                return;
            }

            a_job.OnStart();
            _syncAudioJobs.Add(a_job);
        }
Esempio n. 3
0
        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();
            }
        }