Ejemplo n.º 1
0
 public void LeaveZone(AmbienceZoneTrigger trigger)
 {
     if (activeZones.Contains(trigger))
     {
         activeZones.Remove(trigger);
         CalculateActiveZone();
     }
 }
Ejemplo n.º 2
0
 public void EnterZone(AmbienceZoneTrigger trigger)
 {
     if (!activeZones.Contains(trigger))
     {
         activeZones.Add(trigger);
         CalculateActiveZone();
     }
 }
Ejemplo n.º 3
0
    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);
        }
    }