SettingUI.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. // Created by carolsail
  2. import UIbase from '../utils/UIbase';
  3. import LocalData from '../manager/LocalData';
  4. import PrefabUtil from '../utils/manager/PrefabUtil';
  5. import AudioMgr from '../manager/AudioMgr';
  6. import AudioPath from '../datas/AudioPath';
  7. const { ccclass, property } = cc._decorator;
  8. @ccclass
  9. export default class SettingUI extends UIbase {
  10. private static _inst:SettingUI;
  11. public static get inst()
  12. {
  13. if(this._inst==null || this._inst.node==null)
  14. {
  15. let v=cc.instantiate(PrefabUtil.get("SettingUI"));
  16. this._inst=v.getComponent(SettingUI);
  17. }
  18. return this._inst;
  19. }
  20. @property(cc.Sprite)
  21. musicSprite: cc.Sprite = null
  22. @property(cc.Sprite)
  23. soundSprite: cc.Sprite = null
  24. // @property(cc.Node)
  25. // btnClose: cc.Node = null
  26. @property(cc.SpriteFrame)
  27. openFrame: cc.SpriteFrame = null
  28. @property(cc.SpriteFrame)
  29. closeFrame: cc.SpriteFrame = null
  30. start() {
  31. this.updateMusic();
  32. this.updateSound();
  33. }
  34. onClickClose() {
  35. AudioMgr.playSound(AudioPath.CLICK)
  36. this.hideUI();
  37. }
  38. onClickSound()
  39. {
  40. AudioMgr.playSound(AudioPath.CLICK)
  41. LocalData.yx = !LocalData.yx
  42. this.updateSound()
  43. }
  44. onClickMusic() {
  45. AudioMgr.playSound(AudioPath.CLICK)
  46. LocalData.yy = !LocalData.yy
  47. if ( LocalData.yy==true)
  48. {
  49. AudioMgr.playBgm();
  50. }
  51. else
  52. {
  53. AudioMgr.stopBgm();
  54. }
  55. this.updateMusic()
  56. }
  57. updateMusic() {
  58. this.musicSprite.spriteFrame = LocalData.yy==true?this.openFrame:this.closeFrame
  59. }
  60. updateSound() {
  61. this.soundSprite.spriteFrame = LocalData.yx==true?this.openFrame:this.closeFrame
  62. }
  63. }