import { gameMethod } from "../../../common/gameMethod"; import auto_dialogView from "../../../data/autoui/dialogView/auto_dialogView"; import { WindowEvent } from "../../../data/const/EventConst"; import { ViewZOrder } from "../../../data/const/ViewZOrder"; import EventMng from "../../../manager/EventMng"; import AssetMgr from "../../../utils/AssetMgr"; import { I18n } from "../../../utils/I18nUtil"; import { uiCommon } from "../../../utils/UICommon"; import UIBase, { BASE_POP } from "../UIBase"; import UIHelp, { DialogParams } from "../UIHelp"; const { ccclass, menu, property } = cc._decorator; @ccclass @menu("UI/dialogView/UIDialogView") export default class UIDialogView extends UIBase { ui: auto_dialogView = null; dialogParams: DialogParams;// 外部传入的参数 protected static prefabUrl = "dialogView/dialogView"; protected static className = "UIDialogView"; protected static pop = BASE_POP.UI; onUILoad() { this.ui = this.node.addComponent(auto_dialogView); } onShow() { this.node.zIndex = ViewZOrder.POP_SYSTEM; EventMng.on(WindowEvent.SHOW_SYS_DIALOG, this.showDialog, this); uiCommon.onRegisterEvent(this.ui.imgMask, this.OnClickMask, this); uiCommon.onRegisterEvent(this.ui.btnClose, this.OnClickMask, this); uiCommon.onRegisterEvent(this.ui.btnConfirm, this.OnClickConfirmBtn, this); uiCommon.onRegisterEvent(this.ui.btnCancel, this.OnClickCancelBtn, this); } onHide() { EventMng.off(WindowEvent.SHOW_SYS_DIALOG, this.showDialog, this); uiCommon.unRegisterEvent(this.ui.imgMask); uiCommon.unRegisterEvent(this.ui.btnClose); uiCommon.unRegisterEvent(this.ui.btnConfirm); uiCommon.unRegisterEvent(this.ui.btnCancel); } onStart() { } showDialog(data: DialogParams) { if (gameMethod.isEmpty(data)) return; this.dialogParams = data; this.ui.imgMask.active = true; uiCommon.setLabel(this.ui.title, this.dialogParams.title || I18n?.getI18nText("common_dialogtitle_1")); uiCommon.setLabel(this.ui.DescLabel, this.dialogParams.content || I18n?.getI18nText("common_dialogtitle_1")); // 确定、取消 uiCommon.setLabel(this.ui.txtConfirm, this.dialogParams.txtConfirm || I18n?.getI18nText("common_confirm_11")); if (this.dialogParams.onlyConfirm) { this.ui.btnCancel.active = false; } else { this.ui.btnCancel.active = true; uiCommon.setLabel(this.ui.txtCancel, this.dialogParams.txtCancel || I18n?.getI18nText("common_cancel_1")); } } // 确定 OnClickConfirmBtn(): void { if (this.dialogParams?.cbConfirm != null) { this.dialogParams?.cbConfirm(); } this.closeDialog(); } // 取消 OnClickCancelBtn(): void { if (this.dialogParams?.cbCancel != null) { this.dialogParams?.cbCancel(); } this.closeDialog(); } OnClickMask() { if (this.dialogParams.onlyConfirm && this.dialogParams?.cbConfirm != null) { this.dialogParams?.cbConfirm(); } this.closeDialog(); } closeDialog() { this.ui.imgMask.active = false; } onClose() { } }