a7c1da1649be658c9025e95c08f8a91ee503fbb0.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. System.register(["__unresolved_0", "cc", "__unresolved_1"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, JsonAsset, resLoader, JsonUtil, _crd, path, data;
  4. function _reportPossibleCrUseOfresLoader(extras) {
  5. _reporterNs.report("resLoader", "../common/loader/ResLoader", _context.meta, extras);
  6. }
  7. _export("JsonUtil", void 0);
  8. return {
  9. setters: [function (_unresolved_) {
  10. _reporterNs = _unresolved_;
  11. }, function (_cc) {
  12. _cclegacy = _cc.cclegacy;
  13. __checkObsolete__ = _cc.__checkObsolete__;
  14. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  15. JsonAsset = _cc.JsonAsset;
  16. }, function (_unresolved_2) {
  17. resLoader = _unresolved_2.resLoader;
  18. }],
  19. execute: function () {
  20. _crd = true;
  21. _cclegacy._RF.push({}, "1a24ank4nRC46jfzaIfOmtQ", "JsonUtil", undefined);
  22. /*
  23. * @Author: dgflash
  24. * @Date: 2021-08-18 17:00:59
  25. * @LastEditors: dgflash
  26. * @LastEditTime: 2023-08-22 15:48:02
  27. */
  28. __checkObsolete__(['JsonAsset']);
  29. /** 资源路径 */
  30. path = "config/game/";
  31. /** 数据缓存 */
  32. data = new Map();
  33. /** JSON数据表工具 */
  34. _export("JsonUtil", JsonUtil = class JsonUtil {
  35. /**
  36. * 通知资源名从缓存中获取一个Json数据表
  37. * @param name 资源名
  38. */
  39. static get(name) {
  40. if (data.has(name)) return data.get(name);
  41. }
  42. /**
  43. * 通知资源名加载Json数据表
  44. * @param name 资源名
  45. * @param callback 资源加载完成回调
  46. */
  47. static load(name, callback) {
  48. if (data.has(name)) callback(data.get(name));else {
  49. const url = path + name;
  50. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  51. error: Error()
  52. }), resLoader) : resLoader).load(url, JsonAsset, (err, content) => {
  53. if (err) {
  54. console.warn(err.message);
  55. callback(null);
  56. } else {
  57. data.set(name, content.json);
  58. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  59. error: Error()
  60. }), resLoader) : resLoader).release(url);
  61. callback(content.json);
  62. }
  63. });
  64. }
  65. }
  66. /**
  67. * 异步加载Json数据表
  68. * @param name 资源名
  69. */
  70. static loadAsync(name) {
  71. return new Promise((resolve, reject) => {
  72. if (data.has(name)) {
  73. resolve(data.get(name));
  74. } else {
  75. const url = path + name;
  76. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  77. error: Error()
  78. }), resLoader) : resLoader).load(url, JsonAsset, (err, content) => {
  79. if (err) {
  80. console.warn(err.message);
  81. resolve(null);
  82. } else {
  83. data.set(name, content.json);
  84. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  85. error: Error()
  86. }), resLoader) : resLoader).release(url);
  87. resolve(content.json);
  88. }
  89. });
  90. }
  91. });
  92. }
  93. /** 加载所有配置表数据到缓存中 */
  94. static loadDirAsync() {
  95. return new Promise((resolve, reject) => {
  96. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  97. error: Error()
  98. }), resLoader) : resLoader).loadDir(path, (err, assets) => {
  99. if (err) {
  100. console.warn(err.message);
  101. resolve(false);
  102. } else {
  103. assets.forEach(asset => {
  104. data.set(asset.name, asset.json);
  105. });
  106. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  107. error: Error()
  108. }), resLoader) : resLoader).releaseDir(path);
  109. resolve(true);
  110. }
  111. });
  112. });
  113. }
  114. /**
  115. * 通过指定资源名释放资源内存
  116. * @param name 资源名
  117. */
  118. static release(name) {
  119. data.delete(name);
  120. }
  121. /** 清理所有数据 */
  122. static clear() {
  123. data.clear();
  124. }
  125. });
  126. _cclegacy._RF.pop();
  127. _crd = false;
  128. }
  129. };
  130. });
  131. //# sourceMappingURL=a7c1da1649be658c9025e95c08f8a91ee503fbb0.js.map