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);
        }
    }