Добрый вечер. Реализовываю кнопку управления звуком в игре. Пошел простым путем и просто вырубаю и включаю listener на камере. При запуске игры в юнити все прекрасно работает, но на андроиде работает тольно смена спрайта состояния звука для кнопки, а сам listener не хочет выключатся. С чем это может быть связано?
// Скрипт висит на кнопке
Код
public class SoundButton : MonoBehaviour {
public AudioListener audListener;
public Sprite soundOn, soundOff;
private Image thisImage;
private void Awake()
{
thisImage = GetComponent<Image>();
if (PlayerPrefs.HasKey("Sound"))
{
if (PlayerPrefs.GetInt("Sound") == 0) // 0 - звук выключен
ControlSound(false, soundOff);
else
ControlSound(true, soundOn);
}
else
{
ControlSound(true, soundOn);
SaveStateSound(1); // 1 - звук включен
}
}
public void SwitchSound()
{
if (PlayerPrefs.HasKey("Sound"))
{
if (PlayerPrefs.GetInt("Sound") == 0)
{
ControlSound(true, soundOn);
SaveStateSound(1);
}
else
{
ControlSound(false, soundOff);
SaveStateSound(0);
}
}
}
private void ControlSound(bool state, Sprite nowImage)
{
audListener.enabled = state;
thisImage.sprite = nowImage;
}
private void SaveStateSound(int state)
{
PlayerPrefs.SetInt("Sound", state);
PlayerPrefs.Save();
}
}