System.register(["cc"], function (_export, _context) { "use strict"; var _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, BlockInputEvents, color, ImageAsset, Label, Layers, Node, Sprite, SpriteFrame, Texture2D, tween, UIOpacity, UITransform, v3, view, Toast, _crd, Gravity, imageObj, imageAsset; _export("Toast", void 0); return { setters: [function (_cc) { _cclegacy = _cc.cclegacy; __checkObsolete__ = _cc.__checkObsolete__; __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__; BlockInputEvents = _cc.BlockInputEvents; color = _cc.color; ImageAsset = _cc.ImageAsset; Label = _cc.Label; Layers = _cc.Layers; Node = _cc.Node; Sprite = _cc.Sprite; SpriteFrame = _cc.SpriteFrame; Texture2D = _cc.Texture2D; tween = _cc.tween; UIOpacity = _cc.UIOpacity; UITransform = _cc.UITransform; v3 = _cc.v3; view = _cc.view; }], execute: function () { _crd = true; _cclegacy._RF.push({}, "0cfc340yupKhKm9JAtrMkIE", "Toast", undefined); /** * 位置 */ __checkObsolete__(['BlockInputEvents', 'color', 'ImageAsset', 'Label', 'Layers', 'Node', 'Sprite', 'SpriteFrame', 'Texture2D', 'tween', 'UIOpacity', 'UITransform', 'v3', 'view']); _export("Gravity", Gravity = /*#__PURE__*/function (Gravity) { Gravity[Gravity["BOTTOM"] = 0] = "BOTTOM"; return Gravity; }({})); imageObj = new Image(); imageObj.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQMAAABIeJ9nAAAAA1BMVEX///+nxBvIAAAACklEQVQI12MAAgAABAABINItbwAAAABJRU5ErkJggg=="; imageAsset = new ImageAsset(imageObj); /* Toast.makeText(gui.getLayerNode(5),"可笑可笑1").show(); */ _export("Toast", Toast = class Toast { constructor(root) { this._bgNode = null; this._textNode = null; this._node = null; this._text = ''; this._time = 0; this._textSize = 26; this._gravity = Gravity.BOTTOM; this._node = this.getPNode(root); this._bgNode = new Node(); this._bgNode.layer = Layers.Enum.UI_2D; this._bgNode.addComponent(BlockInputEvents); const sprite = this._bgNode.addComponent(Sprite); sprite.type = Sprite.Type.SLICED; const textureObj = new Texture2D(); textureObj.image = imageAsset; const sf = new SpriteFrame(); sf.texture = textureObj; sprite.spriteFrame = sf; sprite.color = color(128, 128, 128, 255); this._bgNode.addComponent(UIOpacity); this._bgNode.active = false; this._textNode = new Node('Text'); this._textNode.layer = Layers.Enum.UI_2D; const uiTransform = this._textNode.addComponent(UITransform); uiTransform.width = this._node.getComponent(UITransform).width; const label = this._textNode.addComponent(Label); label.horizontalAlign = Label.HorizontalAlign.CENTER; label.verticalAlign = Label.VerticalAlign.CENTER; this._textSize = 26; this._textNode.parent = this._bgNode; this._bgNode.parent = this._node; } /** * 生成吐司 * @param node * @param text * @param time * @returns */ static makeText(parent, text, time = Toast.LENGTH_SHORT) { let toast = new Toast(parent); toast.setText(text); toast.setTime(time); return toast; } /** * 显示吐司 */ show() { this.setFontSize(this._textSize); this.setOverFlow(); this._bgNode.active = true; const uiOpacity = this._bgNode.getComponent(UIOpacity); tween(uiOpacity).delay(this._time).to(0.3, { opacity: 0 }).call(() => { this._bgNode.destroy(); }).start(); } /** * 设置文字 * @param text 文字 * @returns */ setText(text) { this._text = text; let label = this._textNode.getComponent(Label); label.string = this._text; return this; } /** * 设置文字大小 * @param textSize 文字大小 * @returns */ setFontSize(textSize) { this._textSize = textSize; let label = this._textNode.getComponent(Label); label.fontSize = this._textSize; return this; } /** * 设置时间 * @param time 时间 * @returns */ setTime(time) { this._time = time; return this; } /** * 设置位置 * @param gravity 位置 * @returns */ setGravity(gravity) { this._gravity = gravity; return this; } setPosition() { let uiTransform = this._node.getComponent(UITransform); let bgUITransform = this._bgNode.getComponent(UITransform); if (Gravity.BOTTOM === this._gravity) { let y = bgUITransform.height / 2; this._bgNode.position = v3(0, y, 0); } } setOverFlow() { let maxLength = this._node.getComponent(UITransform).width / 2; let label = this._textNode.getComponent(Label); let fontLength = this._text.length * label.fontSize; let uiTransform = this._textNode.getComponent(UITransform); if (fontLength > maxLength) { uiTransform.width = maxLength; label.overflow = Label.Overflow.RESIZE_HEIGHT; } else { uiTransform.width = fontLength; label.overflow = Label.Overflow.NONE; } let bgUITransform = this._bgNode.getComponent(UITransform); bgUITransform.width = uiTransform.width + label.fontSize * 4; bgUITransform.height = uiTransform.height; this.setPosition(); } getPNode(root) { if (null == Toast.pNode || !Toast.pNode.isValid) { Toast.pNode = new Node('Toast'); let transform = Toast.pNode.addComponent(UITransform); Toast.pNode.layer = Layers.Enum.UI_2D; root.addChild(Toast.pNode); Toast.pNode.setSiblingIndex(root.children.length); let size = view.getVisibleSize(); transform.contentSize = size; transform.width = size.width; transform.height = size.height; } return Toast.pNode; } }); Toast.LENGTH_SHORT = 1; // 短时间吐司 Toast.LENGTH_LONG = 3.5; // 长时间吐司 Toast.pNode = null; _cclegacy._RF.pop(); _crd = false; } }; }); //# sourceMappingURL=5d8144768428205eb83d54c7574071768f6c1b5b.js.map