particle.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'use strict';
  2. exports.template = /* html */`
  3. <section class="asset-particle">
  4. <div class="content"
  5. id="content"
  6. >
  7. <ui-prop ui="asset">
  8. <ui-label slot="label"
  9. tooltip="i18n:ENGINE.assets.particle.spriteFrameTip"
  10. value="i18n:ENGINE.assets.particle.spriteFrame"
  11. ></ui-label>
  12. <ui-asset disabled
  13. id="asset"
  14. slot="content"
  15. droppable="cc.SpriteFrame"
  16. ></ui-asset>
  17. </ui-prop>
  18. </div>
  19. <ui-label class="multiple-warn-tip" value="i18n:ENGINE.assets.multipleWarning"></ui-label>
  20. </section>
  21. `;
  22. exports.style = /* css */`
  23. .asset-particle[multiple-invalid] > *:not(.multiple-warn-tip) {
  24. display: none!important;
  25. }
  26. .asset-particle[multiple-invalid] > .multiple-warn-tip {
  27. display: block;
  28. }
  29. .asset-particle .multiple-warn-tip {
  30. display: none;
  31. text-align: center;
  32. color: var(--color-focus-contrast-weakest);
  33. margin-top: 8px;
  34. }
  35. `;
  36. exports.$ = {
  37. container: '.asset-particle',
  38. content: '#content',
  39. asset: '#asset',
  40. };
  41. exports.update = function(assetList, metaList) {
  42. this.assetList = assetList;
  43. this.metaList = metaList;
  44. this.asset = assetList[0];
  45. this.meta = metaList[0];
  46. if (assetList.length > 1) {
  47. this.$.container.setAttribute('multiple-invalid', '');
  48. return;
  49. } else {
  50. this.$.container.removeAttribute('multiple-invalid');
  51. }
  52. this.$.asset.value = this.meta.userData.spriteFrameUuid;
  53. };