CfgMgr.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * 配置表管理
  3. */
  4. let ConfigBase = require('ConfigBase')
  5. let CfgMgr = {
  6. init () {
  7. if (CC_EDITOR) {
  8. return;
  9. }
  10. this.loadFinishCb = null
  11. this.updateLoadCb = null
  12. this.configs = {
  13. BattleBoxAwardConfig: new ConfigBase().initTable("BattleBoxAwardConfig", "", ["boxId", "itemId"]),
  14. BattleBoxConfig: new ConfigBase().initTable("BattleBoxConfig", "boxId"),
  15. BattleBoxTypeConfig: new ConfigBase().initTable("BattleBoxTypeConfig", "ty"),
  16. BattleConstConfig: new ConfigBase().initTable("BattleConstConfig", "main_key"),
  17. BlindBoxAwardConfig: new ConfigBase().initTable("BlindBoxAwardConfig", "", ["boxId", "itemId"]),
  18. BlindBoxConfig: new ConfigBase().initTable("BlindBoxConfig", "boxId"),
  19. BlindBoxConstConfig: new ConfigBase().initTable("BlindBoxConstConfig", "main_key"),
  20. BlindBoxTypeConfig: new ConfigBase().initTable("BlindBoxTypeConfig", "ty"),
  21. DreamBox: new ConfigBase().initTable("DreamBox", "dreamBoxId"),
  22. DreamBoxAward: new ConfigBase().initTable("DreamBoxAward", "DreamBoxId", ["DreamBoxId"]),
  23. DreamConstConfig: new ConfigBase().initTable("DreamConstConfig", "main_key"),
  24. GoodsConfig: new ConfigBase().initTable("GoodsConfig", "id"),
  25. ResItemConfig: new ConfigBase().initTable("ResItemConfig", "id"),
  26. ResItemModelConfig: new ConfigBase().initTable("ResItemModelConfig", "id"),
  27. ResItemModelTypeConfig: new ConfigBase().initTable("ResItemModelTypeConfig", "id"),
  28. ResItemQualityConfig: new ConfigBase().initTable("ResItemQualityConfig", "id"),
  29. ResItemQualityPrice: new ConfigBase().initTable("ResItemQualityPrice", "id"),
  30. ResItemSurfaceConfig: new ConfigBase().initTable("ResItemSurfaceConfig", "id"),
  31. ResItemTypeConfig: new ConfigBase().initTable("ResItemTypeConfig", "id"),
  32. Sheet1: new ConfigBase().initTable("Sheet1", "id"),
  33. };
  34. this.curLoadingIndex = 0;
  35. },
  36. loadAllConfig() {
  37. this.loadConfig();
  38. },
  39. loadConfig() {
  40. for (const [key, config] of Object.entries(this.configs)) {
  41. if (config.isLoadFinish) {
  42. continue;
  43. }
  44. let self = this;
  45. cc.loader.loadRes("res_json/" + config.tableName, function(err, jsonAsset) {
  46. if (err) {
  47. cc.error(err);
  48. return;
  49. }
  50. config.setTable(jsonAsset.json)
  51. config.isLoadFinish = true;
  52. self.curLoadingIndex += 1;
  53. if (self.updateLoadCb) {
  54. self.updateLoadCb();
  55. }
  56. self.loadConfig()
  57. });
  58. break
  59. }
  60. if (this.curLoadingIndex < Object.keys(this.configs).length) {
  61. return
  62. }
  63. if (this.loadFinishCb) {
  64. this.loadFinishCb()
  65. }
  66. cc.game.emit('e_mgr_load_config_done');
  67. },
  68. }
  69. module.exports = CfgMgr;