Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 3.53 KB

File metadata and controls

32 lines (23 loc) · 3.53 KB

AudioControl

Что это: компонент-мост: связывает Toggle или Slider с AMSettings (громкость Master/Music/Efx, мьют), а также поддерживает кастомный режим через события. Пространство имён: Neo.Audio. Файл: Scripts/Audio/View/AudioControl.cs.

Как использовать: добавить на объект с Toggle или Slider, выбрать канал (Master, Music, Efx или Custom); синхронизация с AMSettings автоматическая. Для Slider используется нормализованный диапазон 0..1.

Сохранение громкости между сессиями настраивается не здесь, а в AMSettings: включение/выключение Persist Volume, ключи Save Key и API SaveProvider.


Описание класса

AudioControl

  • Пространство имен: Neo.Audio
  • Путь к файлу: Assets/Neoxider/Scripts/Audio/View/AudioControl.cs

Описание Связывает Toggle или Slider с AMSettings для управления громкостью или состоянием мьюта.

Ключевые особенности

  • Авто-определение UI: Автоматически определяет, находится ли он на Toggle или Slider.
  • Гибкая настройка: Позволяет выбрать, какой канал контролировать: Master, Music, Efx или Custom.
  • Выбор backend: MixerOnly (управление напрямую MasterVolume/MusicVolume/EfxVolume в AudioMixer) или AudioSourceAndMixer.
  • Двусторонняя синхронизация: Изменение значения на слайдере меняет громкость в AMSettings. И наоборот, если громкость изменится где-то еще, состояние слайдера или тогла обновится.
  • Старт и смена сцены: в Start подтягивается AMSettings и выполняется начальная синхронизация UI; в OnEnable (после первого Start) UI снова подстраивается под актуальные значения — удобно при DontDestroyOnLoad у настроек и новых меню на другой сцене. Для Toggle подписка на mute: MuteMaster (Master), MuteMusic (Music), MuteEfx (Efx).
  • Нормализованный процент: для Slider значения всегда в диапазоне 0..1 (проценты громкости).
  • Кастомные события: в режиме Custom можно повесить собственную логику через onSetActiveCustom(bool) и onSetPercentCustom(float).
  • Простота использования: Не требует написания кода. Вся настройка происходит в инспекторе.

Публичные методы

  • Set(bool active) — применяет состояние вкл/выкл для выбранного типа (Master/Music/Efx/Custom).
  • Set(float percent) — применяет нормализованное значение громкости 0..1 для выбранного типа (Master/Music/Efx/Custom).