protected virtual AudioClip ChooseClip(AudioClip[] clips) { switch (_clipSelection) { case ClipSelectionMode.Random: return(RandomUtils.Choose(clips)); case ClipSelectionMode.Shuffle: if (_shuffleBag == null) { _shuffleBag = new ShuffleBag <AudioClip>(clips); } return(_shuffleBag.GetNext()); case ClipSelectionMode.ClampedSequence: return(clips[Mathf.Min(_clipIndex++, clips.Length - 1)]); case ClipSelectionMode.LoopingSequence: return(clips[MathUtils.WrapIndex(_clipIndex++, clips.Length)]); } return(null); }
void Empty_Returns_Default() { int sample = bag.GetNext(); Assert.Equals(sample, default(int)); }