DesignView.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. var t = require;
  2. var e = module;
  3. var i = exports;
  4. var s =
  5. (this && this.__decorate) ||
  6. function (t, e, i, s) {
  7. var o,
  8. a = arguments.length,
  9. n = a < 3 ? e : null === s ? (s = Object.getOwnPropertyDescriptor(e, i)) : s;
  10. if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) n = Reflect.decorate(t, e, i, s);
  11. else
  12. for (var r = t.length - 1; 0 <= r; r--)
  13. (o = t[r]) && (n = (a < 3 ? o(n) : 3 < a ? o(e, i, n) : o(e, i)) || n);
  14. return 3 < a && n && Object.defineProperty(e, i, n), n;
  15. };
  16. Object.defineProperty(i, "__esModule", {value: !0});
  17. const {ccclass: o, property: a, executeInEditMode: n, menu: r} = cc._decorator;
  18. e = class extends cc.Component {
  19. constructor() {
  20. super(...arguments),
  21. (this._sprite = null),
  22. (this._spriteFrame = null),
  23. (this._prefabFileId = ""),
  24. (this._opacity = 70),
  25. (this._offsetX = 0),
  26. (this._offsetY = 0),
  27. (this._showTop = !0),
  28. (this._designUrl = "");
  29. }
  30. set spriteFrame(t) {
  31. this._updateDesignView(t);
  32. }
  33. get spriteFrame() {
  34. return this._spriteFrame;
  35. }
  36. set showTop(t) {
  37. (this._showTop = t), this._updateOrder();
  38. }
  39. get showTop() {
  40. return this._showTop;
  41. }
  42. set opacity(t) {
  43. (this._opacity = t), this._updateOpatity();
  44. }
  45. get opacity() {
  46. return this._opacity;
  47. }
  48. set offsetX(t) {
  49. (this._offsetX = t), this._updateOffset();
  50. }
  51. get offsetX() {
  52. return this._offsetX;
  53. }
  54. set offsetY(t) {
  55. (this._offsetY = t), this._updateOffset();
  56. }
  57. get offsetY() {
  58. return this._offsetY;
  59. }
  60. _updateDesignView(t) {
  61. if (this._spriteFrame !== t) {
  62. if (((this._designUrl = t ? t._uuid : ""), !this._sprite)) {
  63. let t = new cc.Node("DesignView");
  64. (this._sprite = t.addComponent(cc.Sprite)),
  65. (t.parent = this.node),
  66. (t._objFlags |=
  67. cc.Object.Flags.DontSave | cc.Object.Flags.LockedInEditor | cc.Object.Flags.HideInHierarchy),
  68. this._updateOffset(),
  69. this._updateOrder(),
  70. this._updateOpatity();
  71. }
  72. (this._sprite.spriteFrame = t), (this._spriteFrame = t);
  73. }
  74. }
  75. _updateOffset() {
  76. if (this._sprite) {
  77. let t = this._sprite.node;
  78. (t.x = this._offsetX), (t.y = this._offsetY);
  79. }
  80. }
  81. _updateOrder() {
  82. this._sprite && (this._sprite.node.zIndex = this._showTop ? 999 : -1);
  83. }
  84. _updateOpatity() {
  85. this._sprite && (this._sprite.node.opacity = this._opacity);
  86. }
  87. onLoad() {}
  88. _isCurPrefab() {
  89. var t = this.node._prefab;
  90. return t && t.root && (!this._prefabFileId || this._prefabFileId === t.fileId);
  91. }
  92. onEnable() {
  93. this._sprite && (this._sprite.enabled = !0);
  94. }
  95. onDisable() {
  96. this._sprite && (this._sprite.enabled = !1);
  97. }
  98. onDestroy() {
  99. !this._sprite || this._sprite.node._objFlags & cc.Object.Flags.Destroying || this._sprite.node.destroy();
  100. }
  101. };
  102. s([a], e.prototype, "_prefabFileId", void 0),
  103. s([a], e.prototype, "_opacity", void 0),
  104. s([a], e.prototype, "_offsetX", void 0),
  105. s([a], e.prototype, "_offsetY", void 0),
  106. s([a], e.prototype, "_showTop", void 0),
  107. s([a], e.prototype, "_designUrl", void 0),
  108. s([a({type: cc.SpriteFrame, displayName: "设计图"})], e.prototype, "spriteFrame", null),
  109. s([a({type: cc.Boolean, displayName: "置顶"})], e.prototype, "showTop", null),
  110. s([a({type: cc.Integer, displayName: "透明度", slide: !0, min: 0, max: 255})], e.prototype, "opacity", null),
  111. s([a({type: cc.Integer, displayName: "X偏移"})], e.prototype, "offsetX", null),
  112. s([a({type: cc.Integer, displayName: "Y偏移"})], e.prototype, "offsetY", null),
  113. (e = s([o, n, r("UI/DesignView")], e)),
  114. (i.default = e);