SettingLayer.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { _decorator,Node } from 'cc';
  2. import BasePanel from '../../../core/component/BasePanel';
  3. import Data from '../../../core/manager/Data';
  4. import platformSystem from 'db://assets/platform/platformSystem';
  5. import { constants } from 'db://assets/data/constants';
  6. import audioManager from 'db://assets/manager/audioManager';
  7. import settingData from 'db://assets/data/settingData';
  8. import { auto } from 'db://assets/manager/autoBind';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('SettingLayer')
  11. export class SettingLayer extends BasePanel {
  12. @auto sound_on_icon: Node = null;
  13. @auto sound_off_icon: Node = null;
  14. @auto vibration_on_icon: Node = null;
  15. @auto vibration_off_icon: Node = null;
  16. start(){
  17. platformSystem.platform.showInterstitialAd();
  18. this.updateUI();
  19. }
  20. updateUI(){
  21. this.sound_on_icon.active = Data.user.soundVolume != 0;
  22. this.sound_off_icon.active = Data.user.soundVolume == 0;
  23. this.vibration_on_icon.active = Data.user.vibration != 0;
  24. this.vibration_off_icon.active = Data.user.vibration == 0;
  25. }
  26. onBtnClicked(event:any, customEventData:any) {
  27. audioManager.playOneShot(constants.audios.btnclick);
  28. var btnName = event.target.name;
  29. switch (btnName) {
  30. case "btn_close":
  31. this.close();
  32. break;
  33. case "btn_sound":
  34. settingData.changeStatus(1);
  35. Data.user.soundVolume = Data.user.soundVolume == 0?1:0;
  36. this.updateUI();
  37. break;
  38. case "btn_vibration":
  39. Data.user.vibration = Data.user.vibration == 0?1:0;
  40. this.updateUI();
  41. break;
  42. }
  43. }
  44. }