WParticleParse.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.ParticleParse = void 0;
  4. const WBaseComParse_1 = require("./WBaseComParse");
  5. class ParticleParse extends WBaseComParse_1.BaseComParse {
  6. constructor() {
  7. super(...arguments);
  8. this.comName = 'cc.ParticleSystem';
  9. }
  10. /**
  11. * 解析预制件数组里的单个项目
  12. * @param json 预制件数组里的一个项目
  13. * @param uuidSeekedMap 已经找到了的uuid的名字
  14. * @param fatherJson 整个预制件的Json
  15. * @returns 返回丢失了uuid的属性的名字
  16. */
  17. async parse(json, fatherJson, fullUuid, compressedUuid) {
  18. let ret = [];
  19. let _materials = json._materials;
  20. if (_materials && _materials[0]) {
  21. let uuid = _materials[0].__uuid__;
  22. if (uuid) {
  23. if (uuid.includes(fullUuid) || uuid.includes(compressedUuid))
  24. ret.push('renderer.particleMaterial');
  25. }
  26. }
  27. if (_materials && _materials[1]) {
  28. let uuid = _materials[1].__uuid__;
  29. if (uuid) {
  30. if (uuid.includes(fullUuid) || uuid.includes(compressedUuid))
  31. ret.push('renderer.trailMaterial');
  32. }
  33. }
  34. if (json.renderer && json.renderer.__id__) {
  35. let renderer = fatherJson[json.renderer.__id__];
  36. let _mesh = renderer._mesh;
  37. if (_mesh) {
  38. let uuid = _mesh.__uuid__;
  39. if (uuid) {
  40. if (uuid.includes(fullUuid) || uuid.includes(compressedUuid))
  41. ret.push('renderer._mesh');
  42. }
  43. }
  44. }
  45. return ret;
  46. }
  47. }
  48. exports.ParticleParse = ParticleParse;