private void TransitionToMix(AmbienceMix mix, float duration) { mix.TransitionTo(duration); for (int i = 0; i < sources.Count; i++) { sources[i].FadeVolume(0f, duration); } sources.Clear(); sources.AddRange(transitionToSources); transitionToSources.Clear(); }
private void CalculateActiveZone() { int num = int.MinValue; AmbienceZoneTrigger ambienceZoneTrigger = null; for (int i = 0; i < activeZones.Count; i++) { if (activeZones[i].priority > num) { ambienceZoneTrigger = activeZones[i]; num = activeZones[i].priority; } } if (!(ambienceZoneTrigger == null) && (!(playingMix != null) || !(playingMix == ambienceZoneTrigger.mix))) { playingMix = ambienceZoneTrigger.mix; TransitionToMix(playingMix, ambienceZoneTrigger.transitionDuration); } }