72 lines
2.0 KiB
C#
72 lines
2.0 KiB
C#
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class OptionsPopup : PopupBase
|
|
{
|
|
[SerializeField] private Button musicBtn;
|
|
[SerializeField] private Button soundBtn;
|
|
[SerializeField] private Button backBtn;
|
|
|
|
[SerializeField] private TextMeshProUGUI musicText;
|
|
[SerializeField] private TextMeshProUGUI soundText;
|
|
|
|
private PopupBackHandler popupBackHandler;
|
|
private InGameSFXData inGameSFXData;
|
|
private SoundManager soundManager;
|
|
|
|
public void InitSFXData(InGameSFXData inGameSFXData, SoundManager soundManager)
|
|
{
|
|
this.soundManager = soundManager;
|
|
this.inGameSFXData = inGameSFXData;
|
|
|
|
SetMusicView();
|
|
SetSoundView();
|
|
}
|
|
|
|
private void SetMusicView()
|
|
{
|
|
musicText.text = inGameSFXData.gameMusicToggle ? ArcticEscape_Constants.Toggle_On : ArcticEscape_Constants.Toggle_Off;
|
|
soundManager.SetGameMusic(inGameSFXData.gameMusicToggle);
|
|
}
|
|
|
|
private void SetSoundView()
|
|
{
|
|
soundText.text = inGameSFXData.gameSoundToggle ? ArcticEscape_Constants.Toggle_On : ArcticEscape_Constants.Toggle_Off;
|
|
soundManager.SetGameSound(inGameSFXData.gameSoundToggle);
|
|
}
|
|
|
|
private void OnClick_Music()
|
|
{
|
|
inGameSFXData.gameMusicToggle = !inGameSFXData.gameMusicToggle;
|
|
SetMusicView();
|
|
}
|
|
|
|
private void OnClick_Sound()
|
|
{
|
|
inGameSFXData.gameSoundToggle = !inGameSFXData.gameSoundToggle;
|
|
SetSoundView();
|
|
}
|
|
|
|
private void OnClick_Back()
|
|
{
|
|
popupBackHandler = popupBackHandler == null ? new PopupBackHandler(popupManager) : popupBackHandler;
|
|
popupBackHandler.HandleBackClick(popupType);
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
musicBtn.onClick.AddListener(OnClick_Music);
|
|
soundBtn.onClick.AddListener(OnClick_Sound);
|
|
backBtn.onClick.AddListener(OnClick_Back);
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
musicBtn.onClick.RemoveAllListeners();
|
|
soundBtn.onClick.RemoveAllListeners();
|
|
backBtn.onClick.RemoveAllListeners();
|
|
}
|
|
}
|