import { respath } from "../constants/respath" import { ResourceManager } from "../models/ResourceManager" import { UIManager } from "../models/UIManager" import { Utility_EaseOut, Utility_EaseOut_2 } from "../utils/utility" const { regClass, property } = Laya export function G_ShowCommonTips(title: string, content: string, showToggle: boolean, func: any): void { ResourceManager.getInstance().loadPrefab(respath.common_tips_ui_res, (go: any)=> { const prefab = go.create() const obj = UIManager.getInstance().getUIRoot().addChild(prefab).getComponent(CommonTips) obj.showCommonTips(title, content, showToggle, func) }) } @regClass() export class CommonTips extends Laya.Script { declare owner: Laya.Box @property(Laya.Label) public label_title: Laya.Label @property(Laya.Label) public label_content: Laya.Label @property(Laya.Box) public btn_ok: Laya.Box @property(Laya.Box) public btn_cancel: Laya.Box @property(Laya.Box) public toggle: Laya.Box @property(Laya.Image) public check: Laya.Image private isChecked = false private mask: Laya.Image private center: Laya.Box onAwake(): void { this.mask = this.owner.getChildByName("Image") as Laya.Image this.mask.alpha = 0 Laya.Tween.to(this.mask, {alpha: 0.6}, 400, Utility_EaseOut) this.center = this.owner.getChildByName("center") as Laya.Box this.center.scaleX = 0.8 this.center.scaleY = 0.8 Laya.Tween.to(this.center, {scaleX: 1, scaleY: 1}, 400, Utility_EaseOut) this.center.alpha = 0 Laya.Tween.to(this.center, {alpha: 1}, 400, Utility_EaseOut) } destroyUI(): void { Laya.Tween.to(this.mask, {alpha: 0}, 400, Utility_EaseOut_2) Laya.Tween.to(this.center, {scaleX: 0.8, scaleY: 0.8}, 400, Utility_EaseOut_2) Laya.Tween.to(this.center, {alpha: 0}, 400, Utility_EaseOut_2, Laya.Handler.create(this, () => { this.owner.destroy() })) } public showCommonTips(title: string, content: string, showToggle: boolean, func: any): void { this.label_title.text = title this.label_content.text = content this.toggle.visible = showToggle this.check.visible = false this.toggle.on(Laya.Event.CLICK, this, () => { this.isChecked = !this.isChecked this.check.visible = this.isChecked }) this.btn_ok.on(Laya.Event.CLICK, this, () => { if (func) { func(true, this.isChecked) } this.destroyUI() }) this.btn_cancel.on(Laya.Event.CLICK, this, () => { if (func) { func(false, this.isChecked) } this.destroyUI() }) this.mask.on(Laya.Event.CLICK, this, () => { this.destroyUI() }) } }