ConfigManager.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. var t = require;
  2. var e = module;
  3. var i = exports;
  4. var n =
  5. (this && this.__awaiter) ||
  6. function (t, n, r, l) {
  7. return new (r = r || Promise)(function (i, e) {
  8. function s(t) {
  9. try {
  10. a(l.next(t));
  11. } catch (t) {
  12. e(t);
  13. }
  14. }
  15. function o(t) {
  16. try {
  17. a(l.throw(t));
  18. } catch (t) {
  19. e(t);
  20. }
  21. }
  22. function a(t) {
  23. var e;
  24. t.done
  25. ? i(t.value)
  26. : ((e = t.value) instanceof r
  27. ? e
  28. : new r(function (t) {
  29. t(e);
  30. })
  31. ).then(s, o);
  32. }
  33. a((l = l.apply(t, n || [])).next());
  34. });
  35. };
  36. Object.defineProperty(i, "__esModule", {value: !0}),
  37. (i.ConfigManager = i.registerJSONConf = i.registerCfg = i.register = void 0);
  38. const o = t("App"),
  39. a = t("DataMsrBase");
  40. function r(t, e, i) {
  41. (l.jsonFiles[t] = e), (l.jsonParseObjs[t] = i);
  42. }
  43. (i.register = function (t, e) {
  44. l.loadList[e] = t;
  45. }),
  46. (i.registerCfg = function (t, e) {
  47. l.loadList[e] = t;
  48. }),
  49. (i.registerJSONConf = r);
  50. class l {
  51. constructor() {
  52. (this.configs = {}), (this._serverInfo = null);
  53. }
  54. getConfig(t) {
  55. var e = this.configs[t];
  56. if (e) return e;
  57. Log.error(
  58. `\u914d\u7f6e\u6587\u4ef6<${t}>\u4e0d\u5b58\u5728,\u53ef\u80fd\u662f\u52a0\u8f7d\u5931\u8d25,\u6216\u8005\u8fd8\u672a\u52a0\u8f7d`
  59. );
  60. }
  61. getServerCacheInfo() {
  62. if (this._serverInfo) return this._serverInfo;
  63. let e = !1,
  64. t = cc.sys.localStorage.getItem("SERFER_INFO");
  65. if (t)
  66. try {
  67. (this._serverInfo = JSON.parse(t)),
  68. this._serverInfo.game ||
  69. ((this._serverInfo.game = o.default.ConfigManager.gameConf.serverInfos.game), (e = !0)),
  70. this._serverInfo.stat ||
  71. ((this._serverInfo.stat = o.default.ConfigManager.gameConf.serverInfos.interface), (e = !0));
  72. } catch (t) {
  73. (this._serverInfo = {
  74. game: o.default.ConfigManager.gameConf.serverInfos.game,
  75. stat: o.default.ConfigManager.gameConf.serverInfos.interface
  76. }),
  77. (e = !0);
  78. }
  79. else
  80. (this._serverInfo = {
  81. game: o.default.ConfigManager.gameConf.serverInfos.game,
  82. stat: o.default.ConfigManager.gameConf.serverInfos.interface
  83. }),
  84. (e = !0);
  85. return e && this.saveServerInfo(), this._serverInfo;
  86. }
  87. saveServerInfo() {
  88. cc.sys.localStorage.setItem("SERFER_INFO", JSON.stringify(this._serverInfo));
  89. }
  90. loadAllConfig(o, a) {
  91. return n(this, void 0, void 0, function* () {
  92. let s = [];
  93. r("GameConf", "game_conf"),
  94. r("Server", "files/serverConfig"),
  95. r("StageSet", "files/StageSet"),
  96. r("FbMap", "files/FbMap"),
  97. r("MachineMenu", "files/MachineMenu"),
  98. r("AbilityInfo", "files/AbilityInfo"),
  99. r("Helper", "files/Helper"),
  100. r("RapidCat", "files/RapidCat"),
  101. r("Region", "files/Region"),
  102. r("Define", "Define"),
  103. r("RoleLang", "files/RoleLang");
  104. for (const o in l.jsonFiles) s.push(this.loadJSONConf(o, l.jsonFiles[o]));
  105. for (const o in l.loadList) {
  106. let t = new l.loadList[o]();
  107. (this.configs[o] = t), s.push(t.load());
  108. }
  109. if (o) {
  110. let e = 0,
  111. i = s.length;
  112. for (let t = 0; t < i; t++)
  113. s[t].then(() => {
  114. e++, o.call(a, e, s.length);
  115. });
  116. }
  117. yield Promise.all(s), (this.gameConf = this.getConfig("GameConf"));
  118. });
  119. }
  120. loadJSONConf(i, s) {
  121. return n(this, void 0, void 0, function* () {
  122. let t,
  123. e = "config";
  124. return (
  125. "test" == versionInfo.packVersion &&
  126. ((e = "config_sub"),
  127. yield o.default.ResManager.loadBundle(
  128. "http://localhost:7556/mini-game/wechatgame/assets/config_sub"
  129. )),
  130. (t = yield o.default.ResManager.loadInBundle(e, a.CONFIG_FILE_DIR + s, cc.JsonAsset)),
  131. l.jsonParseObjs[i] ? (this.configs[i] = l.jsonParseObjs[i].parse(t.json)) : (this.configs[i] = t.json),
  132. this.configs[i]
  133. );
  134. });
  135. }
  136. }
  137. (i.ConfigManager = l),
  138. (l.loadList = Object.create(null)),
  139. (l.jsonFiles = Object.create(null)),
  140. (l.jsonParseObjs = Object.create(null));