public void LeaveZone(AmbienceZoneTrigger trigger) { if (activeZones.Contains(trigger)) { activeZones.Remove(trigger); CalculateActiveZone(); } }
public void EnterZone(AmbienceZoneTrigger trigger) { if (!activeZones.Contains(trigger)) { activeZones.Add(trigger); CalculateActiveZone(); } }
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); } }