WSimpleParse.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.SimpleParse = void 0;
  4. const WBaseComParse_1 = require("./WBaseComParse");
  5. class SimpleParse extends WBaseComParse_1.BaseComParse {
  6. constructor() {
  7. super(...arguments);
  8. this._simpleKeys = [
  9. //cc.Sprite
  10. '_customMaterial',
  11. '_atlas',
  12. '_spriteFrame',
  13. //cc.Label
  14. '_font',
  15. //cc.Button
  16. '_normalSprite',
  17. '_hoverSprite',
  18. '_pressedSprite',
  19. '_disabledSprite',
  20. //meshrender
  21. '_mesh',
  22. //animation
  23. '_defaultClip',
  24. //audioSources
  25. '_clip',
  26. //richText
  27. '_imageAtlas',
  28. //dragonBones.ArmatureDisplay
  29. '_dragonAsset',
  30. '_dragonAtlasAsset',
  31. //cc.Billboard
  32. '_texture',
  33. //particleSystem2D
  34. '_file',
  35. //BoxCollider
  36. '_material',
  37. //spine
  38. '_skeletonData',
  39. //tiledMap
  40. '_tmxFile',
  41. //editBox
  42. '_backgroundImage',
  43. // CCPropertyOverrideInfo
  44. 'value',
  45. //cc.PrefabInfo
  46. 'asset',
  47. ];
  48. this._arrayKeys = [
  49. '_materials',
  50. '_clips',
  51. ];
  52. this.comName = '';
  53. }
  54. /**
  55. * 解析预制件数组里的单个项目
  56. * @param json 预制件数组里的一个项目
  57. * @param uuidSeekedMap 已经找到了的uuid的名字
  58. * @param fatherJson 整个预制件的Json
  59. * @param fullUuid 完整的Uuid
  60. * @param compressedUuid 压缩后的uuid
  61. * @returns 返回丢失了uuid的属性的名字
  62. */
  63. async parse(json, fatherJson, fullUuid, compressedUuid) {
  64. this.comName = json.__type__;
  65. let ret = [];
  66. //检测单个Key
  67. for (let simpleKey of this._simpleKeys) {
  68. if (json[simpleKey]) {
  69. let uuid = json[simpleKey].__uuid__;
  70. if (uuid) {
  71. if (uuid.includes(fullUuid) || uuid.includes(compressedUuid)) {
  72. ret.push(simpleKey);
  73. }
  74. }
  75. }
  76. }
  77. for (let arrayKey of this._arrayKeys) {
  78. if (json[arrayKey]) {
  79. let i = -1;
  80. for (let ele of json[arrayKey]) {
  81. i++;
  82. if (!ele)
  83. continue;
  84. let uuid = ele.__uuid__;
  85. if (!uuid)
  86. continue;
  87. if (uuid.includes(fullUuid) || uuid.includes(compressedUuid)) {
  88. ret.push(arrayKey + '[' + i + ']');
  89. }
  90. }
  91. }
  92. }
  93. return ret;
  94. }
  95. }
  96. exports.SimpleParse = SimpleParse;