2026-01-05 12:16:58 +05:30

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();
}
}