| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- using UnityEngine;
- public class OptionPanel : OffAnimation
- {
- private static readonly int CloseHash = Animator.StringToHash("Close");
- private static readonly int OpenHash = Animator.StringToHash("Open");
- [SerializeField] VolumePanel _volumePanel;
- [SerializeField] ResizeWindow _resizeWindowPanel;
- [SerializeField] GameplayOption _gameplayOption;
- [SerializeField] GraphicsOptionPanel _graphicsOptionPanel;
- [SerializeField] ServerRegionPanel _serverRegionPanel;
- [SerializeField] LanguagePanel _languagePanel;
- [SerializeField] Animator _anim;
- bool _isOpen = false;
- public void OnClickOpenOptionPanelButton()
- {
- if (_isOpen)
- {
- CloseOptionPanel();
- }
- else
- {
- if (Opening.instance != null)
- {
- Opening.instance.PlayDecisionSE();
- }
- else if (GManager.instance != null)
- {
- GManager.instance.PlayDecisionSE();
- }
- Open();
- }
- }
- public void Open()
- {
- _isOpen = true;
- gameObject.SetActive(true);
- _anim.SetInteger(OpenHash, 1);
- _anim.SetInteger(CloseHash, 0);
- if (_volumePanel != null)
- {
- _volumePanel.Off();
- }
- if (_resizeWindowPanel != null)
- {
- _resizeWindowPanel.Off();
- }
- if (_gameplayOption != null)
- {
- _gameplayOption.Off();
- }
- if (_graphicsOptionPanel != null)
- {
- _graphicsOptionPanel.Off();
- }
- if (_serverRegionPanel != null)
- {
- _serverRegionPanel.Off();
- }
- if (_languagePanel != null)
- {
- _languagePanel.Off();
- }
- }
- public void Close()
- {
- Close_(true);
- }
- public void CloseOptionPanel()
- {
- _isOpen = false;
- bool playSE = false;
- if (gameObject.activeSelf)
- {
- playSE = true;
- }
- if (_resizeWindowPanel != null)
- {
- if (_resizeWindowPanel.gameObject.activeSelf)
- {
- playSE = true;
- }
- }
- if (_volumePanel != null)
- {
- if (_volumePanel.gameObject.activeSelf)
- {
- playSE = true;
- }
- }
- if (_gameplayOption != null)
- {
- if (_gameplayOption.gameObject.activeSelf)
- {
- playSE = true;
- }
- }
- if (_graphicsOptionPanel != null)
- {
- if (_graphicsOptionPanel.gameObject.activeSelf)
- {
- playSE = true;
- }
- }
- if (_serverRegionPanel != null)
- {
- if (_serverRegionPanel.gameObject.activeSelf)
- {
- playSE = true;
- }
- }
- if (_languagePanel != null)
- {
- if (_languagePanel.gameObject.activeSelf)
- {
- playSE = true;
- }
- }
- Close_(playSE);
- if (_resizeWindowPanel != null)
- {
- _resizeWindowPanel.Close_(false);
- }
- if (_volumePanel != null)
- {
- _volumePanel.Close_(false);
- }
- if (_gameplayOption != null)
- {
- _gameplayOption.Close_(false);
- }
- if (_graphicsOptionPanel != null)
- {
- _graphicsOptionPanel.Close_(false);
- }
- if (_serverRegionPanel != null)
- {
- _serverRegionPanel.Close_(false);
- }
- if (_languagePanel != null)
- {
- _languagePanel.Close_(false);
- }
- }
- public void Close_(bool playSE)
- {
- if (playSE)
- {
- if (Opening.instance != null)
- {
- Opening.instance.PlayCancelSE();
- }
- else if (GManager.instance != null)
- {
- GManager.instance.PlayCancelSE();
- }
- }
- _anim.SafeSetInt(OpenHash, 0);
- _anim.SafeSetInt(CloseHash, 1);
- }
- public void Init()
- {
- Off();
- if (_volumePanel != null)
- {
- _volumePanel.Init();
- }
- if (_resizeWindowPanel != null)
- {
- _resizeWindowPanel.Init();
- }
- if (_gameplayOption != null)
- {
- _gameplayOption.Init();
- }
- if (_graphicsOptionPanel != null)
- {
- _graphicsOptionPanel.Init();
- }
- if (_serverRegionPanel != null)
- {
- _serverRegionPanel.Init();
- }
- if (_languagePanel != null)
- {
- _languagePanel.Init();
- }
- }
- public void OnClickExitGameButton()
- {
- #if UNITY_STANDALONE
- Application.Quit();
- #endif
- }
- }
|