Я пытаюсь прописать код который будет настраивать как все звуки в проекте, так и отдельные(с помощью тегов), уже не один час сижу и устраиваю мозговые штурмы как можно сделать настройку сразу всех AudioSource в проекте.
Предположил что это можно сделать так: С помощью метода мы ищем все AudioSource, потом всех их добавляем в список/массив уже с помощью которого мы будем регулировать громкость сразу со всех найденых AudioSource.
Но я не знаю как это можно реализовать. Прошу помощи или хотя бы подсказки как это всё дело можно осуществить.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AudioVolume : MonoBehaviour
{
public Slider GeneralSound;
public Slider Music;
public AudioSource MusicAudioSource;
public AudioSource GeneralAudioSource;
public List<AudioSource> GeneralAudio;
public List<AudioSource> MusicAudio;
public float volumeMusic = 1f;
public float volumeGeneralSound = 1f;
public void Start()
{
Load();
ValueMusic();
ValueGeneralSound();
}
public void SliderMusic()
{
volumeMusic = Music.value;
Save();
ValueMusic();
}
public void SliderGeneralSound()
{
volumeGeneralSound = GeneralSound.value;
Save();
ValueGeneralSound();
}
private void ValueMusic()
{
MusicAudioSource = GameObject.FindGameObjectWithTag("Music").GetComponent<AudioSource>();
MusicAudio.Add(MusicAudioSource);
MusicAudioSource.volume = volumeMusic;
Music.value = volumeMusic;
}
private void ValueGeneralSound()
{
GeneralAudioSource =
}
private void Save()
{
PlayerPrefs.SetFloat("volumeMusic", volumeMusic);
PlayerPrefs.SetFloat("volumeGeneralSound", volumeGeneralSound);
}
private void Load()
{
volumeMusic = PlayerPrefs.GetFloat("volumeMusic", volumeMusic);
volumeGeneralSound = PlayerPrefs.GetFloat("volumeGeneralSound", volumeGeneralSound);
}
}