a8d2bdad221ff8ad0260b2560ce94c110a59693b.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4", "__unresolved_5"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, sys, Constants, Utils, Singleton, audioMgr, MsgHints, _dec, _class, _crd, ccclass, property, SettingData, settingData;
  4. function _reportPossibleCrUseOfConstants(extras) {
  5. _reporterNs.report("Constants", "./Constants", _context.meta, extras);
  6. }
  7. function _reportPossibleCrUseOfUtils(extras) {
  8. _reporterNs.report("Utils", "../utils/Utils", _context.meta, extras);
  9. }
  10. function _reportPossibleCrUseOfSingleton(extras) {
  11. _reporterNs.report("Singleton", "../core/manager/Singleton", _context.meta, extras);
  12. }
  13. function _reportPossibleCrUseOfaudioMgr(extras) {
  14. _reporterNs.report("audioMgr", "../core/manager/AudioManager", _context.meta, extras);
  15. }
  16. function _reportPossibleCrUseOfMsgHints(extras) {
  17. _reporterNs.report("MsgHints", "../utils/MsgHints", _context.meta, extras);
  18. }
  19. return {
  20. setters: [function (_unresolved_) {
  21. _reporterNs = _unresolved_;
  22. }, function (_cc) {
  23. _cclegacy = _cc.cclegacy;
  24. __checkObsolete__ = _cc.__checkObsolete__;
  25. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  26. _decorator = _cc._decorator;
  27. sys = _cc.sys;
  28. }, function (_unresolved_2) {
  29. Constants = _unresolved_2.Constants;
  30. }, function (_unresolved_3) {
  31. Utils = _unresolved_3.Utils;
  32. }, function (_unresolved_4) {
  33. Singleton = _unresolved_4.Singleton;
  34. }, function (_unresolved_5) {
  35. audioMgr = _unresolved_5.audioMgr;
  36. }, function (_unresolved_6) {
  37. MsgHints = _unresolved_6.default;
  38. }],
  39. execute: function () {
  40. _crd = true;
  41. _cclegacy._RF.push({}, "87ebcQ+nuBFsImwA+JoSKmd", "SettingData", undefined);
  42. __checkObsolete__(['_decorator', 'sys']);
  43. ({
  44. ccclass,
  45. property
  46. } = _decorator);
  47. SettingData = (_dec = ccclass("SettingData"), _dec(_class = class SettingData extends (_crd && Singleton === void 0 ? (_reportPossibleCrUseOfSingleton({
  48. error: Error()
  49. }), Singleton) : Singleton) {
  50. constructor() {
  51. super(...arguments);
  52. this._data = null;
  53. }
  54. get data() {
  55. if (!this._data) {
  56. this.loadFromCache(); //使用Proxy代理data对象 拦截属性修改
  57. this._data = new Proxy(this._data, {
  58. set: (target, prop, value) => {
  59. target[prop] = value;
  60. this.saveToCache();
  61. if (prop === "bgMusic") {
  62. //如果是bgMusic 变化 自动处理音乐逻辑
  63. (_crd && MsgHints === void 0 ? (_reportPossibleCrUseOfMsgHints({
  64. error: Error()
  65. }), MsgHints) : MsgHints).show(value ? "bg music has been turned on" : "bg music has been turned off");
  66. if (value) {
  67. (_crd && audioMgr === void 0 ? (_reportPossibleCrUseOfaudioMgr({
  68. error: Error()
  69. }), audioMgr) : audioMgr).play((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  70. error: Error()
  71. }), Constants) : Constants).audios.BGM, true);
  72. } else {
  73. (_crd && audioMgr === void 0 ? (_reportPossibleCrUseOfaudioMgr({
  74. error: Error()
  75. }), audioMgr) : audioMgr).stop((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  76. error: Error()
  77. }), Constants) : Constants).audios.BGM);
  78. }
  79. } else if (prop === "soundFx") {
  80. //如果是bgMusic 变化
  81. (_crd && MsgHints === void 0 ? (_reportPossibleCrUseOfMsgHints({
  82. error: Error()
  83. }), MsgHints) : MsgHints).show(value ? "sound has been turned on" : "sound has been turned off");
  84. } else if (prop === "vibrate") {
  85. //如果是vibration 变化
  86. (_crd && MsgHints === void 0 ? (_reportPossibleCrUseOfMsgHints({
  87. error: Error()
  88. }), MsgHints) : MsgHints).show(value ? "vibrate has been turned on" : "vibrate has been turned off");
  89. }
  90. return true;
  91. }
  92. });
  93. }
  94. return this._data;
  95. }
  96. /**
  97. * 读取数据缓存
  98. */
  99. loadFromCache() {
  100. var l = sys.localStorage.getItem((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  101. error: Error()
  102. }), Constants) : Constants).localCache.settingData);
  103. if (l) {
  104. this._data = JSON.parse((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  105. error: Error()
  106. }), Utils) : Utils).decrypt(l));
  107. } else {
  108. //没有数据保存一份默认的初始数据
  109. this._data = {
  110. bgMusic: true,
  111. //背景音乐开关
  112. soundFx: true,
  113. //音效开关
  114. vibrate: false,
  115. //震动开关
  116. sensitivity: 0.5 //相机旋转的灵敏度 值越大移动越快 灵敏度越高
  117. };
  118. this.saveToCache();
  119. }
  120. return this.data;
  121. }
  122. /**
  123. * 得到设置的数据数组
  124. */
  125. getSettingDatas() {
  126. var displayNames = ["背景音乐", "音效", "震动"];
  127. var dataKeys = Object.keys(this.data); //确保字段顺序一致
  128. return dataKeys.map((key, index) => ({
  129. name: displayNames[index],
  130. selected: this.data[key]
  131. }));
  132. }
  133. /**
  134. * 保存到缓存中
  135. */
  136. saveToCache() {
  137. var data = JSON.stringify(this.data); //序列化JSON字符串过后加密存储
  138. sys.localStorage.setItem((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  139. error: Error()
  140. }), Constants) : Constants).localCache.settingData, (_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  141. error: Error()
  142. }), Utils) : Utils).encrypt(data));
  143. }
  144. /**
  145. * 删除缓存
  146. */
  147. remove() {
  148. sys.localStorage.removeItem((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  149. error: Error()
  150. }), Constants) : Constants).localCache.settingData);
  151. this.loadFromCache();
  152. }
  153. }) || _class); //全局单例
  154. _export("settingData", settingData = SettingData.ins());
  155. _cclegacy._RF.pop();
  156. _crd = false;
  157. }
  158. };
  159. });
  160. //# sourceMappingURL=a8d2bdad221ff8ad0260b2560ce94c110a59693b.js.map