SettingPanel.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using Core.Audio;
  2. using Fort23.Core;
  3. namespace Fort23.Mono
  4. {
  5. [UIBinding(prefab = "SettingPanel")]
  6. public partial class SettingPanel : UIPanel
  7. {
  8. private void Init()
  9. {
  10. }
  11. protected override void AddEvent()
  12. {
  13. }
  14. protected override void DelEvent()
  15. {
  16. }
  17. public override CTask<bool> AsyncInit(object[] uiData)
  18. {
  19. if (AccountFileInfo.Instance.playerData.MusicEffects)
  20. {
  21. AudioManager.Instance.SetAudioValue(1);
  22. Toggle_YinXiao.ChangeState(1);
  23. }
  24. else
  25. {
  26. AudioManager.Instance.SetAudioValue(0);
  27. Toggle_YinXiao.ChangeState(0);
  28. }
  29. if (AccountFileInfo.Instance.playerData.MusicBg)
  30. {
  31. AudioManager.Instance.SetBgmValue(1);
  32. Toggle_YinYue.ChangeState(1);
  33. }
  34. else
  35. {
  36. AudioManager.Instance.SetBgmValue(0);
  37. Toggle_YinYue.ChangeState(0);
  38. }
  39. return base.AsyncInit(uiData);
  40. }
  41. public override void AddButtonEvent()
  42. {
  43. Btn_YinXiao.onClick.AddListener(() =>
  44. {
  45. AccountFileInfo.Instance.playerData.MusicEffects = !AccountFileInfo.Instance.playerData.MusicEffects;
  46. if (AccountFileInfo.Instance.playerData.MusicEffects)
  47. {
  48. AudioManager.Instance.SetAudioValue(1);
  49. Toggle_YinXiao.ChangeState(1);
  50. }
  51. else
  52. {
  53. AudioManager.Instance.SetAudioValue(0);
  54. Toggle_YinXiao.ChangeState(0);
  55. }
  56. AccountFileInfo.Instance.SavePlayerData();
  57. });
  58. Btn_YinYUe.onClick.AddListener(() =>
  59. {
  60. AccountFileInfo.Instance.playerData.MusicBg = !AccountFileInfo.Instance.playerData.MusicBg;
  61. if (AccountFileInfo.Instance.playerData.MusicBg)
  62. {
  63. AudioManager.Instance.SetBgmValue(1);
  64. Toggle_YinYue.ChangeState(1);
  65. }
  66. else
  67. {
  68. AudioManager.Instance.SetBgmValue(0);
  69. Toggle_YinYue.ChangeState(0);
  70. }
  71. AccountFileInfo.Instance.SavePlayerData();
  72. });
  73. }
  74. public async static CTask OpenPanel()
  75. {
  76. await UIManager.Instance.LoadAndOpenPanel<SettingPanel>(null, UILayer.Top, isShowBG: true);
  77. }
  78. }
  79. }