5d8144768428205eb83d54c7574071768f6c1b5b.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. System.register(["cc"], function (_export, _context) {
  2. "use strict";
  3. var _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, BlockInputEvents, color, ImageAsset, Label, Layers, Node, Sprite, SpriteFrame, Texture2D, tween, UIOpacity, UITransform, v3, view, Toast, _crd, Gravity, imageObj, imageAsset;
  4. _export("Toast", void 0);
  5. return {
  6. setters: [function (_cc) {
  7. _cclegacy = _cc.cclegacy;
  8. __checkObsolete__ = _cc.__checkObsolete__;
  9. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  10. BlockInputEvents = _cc.BlockInputEvents;
  11. color = _cc.color;
  12. ImageAsset = _cc.ImageAsset;
  13. Label = _cc.Label;
  14. Layers = _cc.Layers;
  15. Node = _cc.Node;
  16. Sprite = _cc.Sprite;
  17. SpriteFrame = _cc.SpriteFrame;
  18. Texture2D = _cc.Texture2D;
  19. tween = _cc.tween;
  20. UIOpacity = _cc.UIOpacity;
  21. UITransform = _cc.UITransform;
  22. v3 = _cc.v3;
  23. view = _cc.view;
  24. }],
  25. execute: function () {
  26. _crd = true;
  27. _cclegacy._RF.push({}, "0cfc340yupKhKm9JAtrMkIE", "Toast", undefined);
  28. /**
  29. * 位置
  30. */
  31. __checkObsolete__(['BlockInputEvents', 'color', 'ImageAsset', 'Label', 'Layers', 'Node', 'Sprite', 'SpriteFrame', 'Texture2D', 'tween', 'UIOpacity', 'UITransform', 'v3', 'view']);
  32. _export("Gravity", Gravity = /*#__PURE__*/function (Gravity) {
  33. Gravity[Gravity["BOTTOM"] = 0] = "BOTTOM";
  34. return Gravity;
  35. }({}));
  36. imageObj = new Image();
  37. imageObj.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQMAAABIeJ9nAAAAA1BMVEX///+nxBvIAAAACklEQVQI12MAAgAABAABINItbwAAAABJRU5ErkJggg==";
  38. imageAsset = new ImageAsset(imageObj);
  39. /*
  40. Toast.makeText(gui.getLayerNode(5),"可笑可笑1").show();
  41. */
  42. _export("Toast", Toast = class Toast {
  43. constructor(root) {
  44. this._bgNode = null;
  45. this._textNode = null;
  46. this._node = null;
  47. this._text = '';
  48. this._time = 0;
  49. this._textSize = 26;
  50. this._gravity = Gravity.BOTTOM;
  51. this._node = this.getPNode(root);
  52. this._bgNode = new Node();
  53. this._bgNode.layer = Layers.Enum.UI_2D;
  54. this._bgNode.addComponent(BlockInputEvents);
  55. var sprite = this._bgNode.addComponent(Sprite);
  56. sprite.type = Sprite.Type.SLICED;
  57. var textureObj = new Texture2D();
  58. textureObj.image = imageAsset;
  59. var sf = new SpriteFrame();
  60. sf.texture = textureObj;
  61. sprite.spriteFrame = sf;
  62. sprite.color = color(128, 128, 128, 255);
  63. this._bgNode.addComponent(UIOpacity);
  64. this._bgNode.active = false;
  65. this._textNode = new Node('Text');
  66. this._textNode.layer = Layers.Enum.UI_2D;
  67. var uiTransform = this._textNode.addComponent(UITransform);
  68. uiTransform.width = this._node.getComponent(UITransform).width;
  69. var label = this._textNode.addComponent(Label);
  70. label.horizontalAlign = Label.HorizontalAlign.CENTER;
  71. label.verticalAlign = Label.VerticalAlign.CENTER;
  72. this._textSize = 26;
  73. this._textNode.parent = this._bgNode;
  74. this._bgNode.parent = this._node;
  75. }
  76. /**
  77. * 生成吐司
  78. * @param node
  79. * @param text
  80. * @param time
  81. * @returns
  82. */
  83. static makeText(parent, text, time) {
  84. if (time === void 0) {
  85. time = Toast.LENGTH_SHORT;
  86. }
  87. var toast = new Toast(parent);
  88. toast.setText(text);
  89. toast.setTime(time);
  90. return toast;
  91. }
  92. /**
  93. * 显示吐司
  94. */
  95. show() {
  96. this.setFontSize(this._textSize);
  97. this.setOverFlow();
  98. this._bgNode.active = true;
  99. var uiOpacity = this._bgNode.getComponent(UIOpacity);
  100. tween(uiOpacity).delay(this._time).to(0.3, {
  101. opacity: 0
  102. }).call(() => {
  103. this._bgNode.destroy();
  104. }).start();
  105. }
  106. /**
  107. * 设置文字
  108. * @param text 文字
  109. * @returns
  110. */
  111. setText(text) {
  112. this._text = text;
  113. var label = this._textNode.getComponent(Label);
  114. label.string = this._text;
  115. return this;
  116. }
  117. /**
  118. * 设置文字大小
  119. * @param textSize 文字大小
  120. * @returns
  121. */
  122. setFontSize(textSize) {
  123. this._textSize = textSize;
  124. var label = this._textNode.getComponent(Label);
  125. label.fontSize = this._textSize;
  126. return this;
  127. }
  128. /**
  129. * 设置时间
  130. * @param time 时间
  131. * @returns
  132. */
  133. setTime(time) {
  134. this._time = time;
  135. return this;
  136. }
  137. /**
  138. * 设置位置
  139. * @param gravity 位置
  140. * @returns
  141. */
  142. setGravity(gravity) {
  143. this._gravity = gravity;
  144. return this;
  145. }
  146. setPosition() {
  147. var uiTransform = this._node.getComponent(UITransform);
  148. var bgUITransform = this._bgNode.getComponent(UITransform);
  149. if (Gravity.BOTTOM === this._gravity) {
  150. var y = bgUITransform.height / 2;
  151. this._bgNode.position = v3(0, y, 0);
  152. }
  153. }
  154. setOverFlow() {
  155. var maxLength = this._node.getComponent(UITransform).width / 2;
  156. var label = this._textNode.getComponent(Label);
  157. var fontLength = this._text.length * label.fontSize;
  158. var uiTransform = this._textNode.getComponent(UITransform);
  159. if (fontLength > maxLength) {
  160. uiTransform.width = maxLength;
  161. label.overflow = Label.Overflow.RESIZE_HEIGHT;
  162. } else {
  163. uiTransform.width = fontLength;
  164. label.overflow = Label.Overflow.NONE;
  165. }
  166. var bgUITransform = this._bgNode.getComponent(UITransform);
  167. bgUITransform.width = uiTransform.width + label.fontSize * 4;
  168. bgUITransform.height = uiTransform.height;
  169. this.setPosition();
  170. }
  171. getPNode(root) {
  172. if (null == Toast.pNode || !Toast.pNode.isValid) {
  173. Toast.pNode = new Node('Toast');
  174. var transform = Toast.pNode.addComponent(UITransform);
  175. Toast.pNode.layer = Layers.Enum.UI_2D;
  176. root.addChild(Toast.pNode);
  177. Toast.pNode.setSiblingIndex(root.children.length);
  178. var size = view.getVisibleSize();
  179. transform.contentSize = size;
  180. transform.width = size.width;
  181. transform.height = size.height;
  182. }
  183. return Toast.pNode;
  184. }
  185. });
  186. Toast.LENGTH_SHORT = 1;
  187. // 短时间吐司
  188. Toast.LENGTH_LONG = 3.5;
  189. // 长时间吐司
  190. Toast.pNode = null;
  191. _cclegacy._RF.pop();
  192. _crd = false;
  193. }
  194. };
  195. });
  196. //# sourceMappingURL=5d8144768428205eb83d54c7574071768f6c1b5b.js.map