mirror of
https://gitee.com/dgflash/oops-plugin-framework.git
synced 2026-06-19 19:17:21 +08:00
99 lines
2.6 KiB
TypeScript
99 lines
2.6 KiB
TypeScript
import { Component, _decorator } from "cc";
|
|
import { LanguageLabel } from "../../../libs/gui/language/LanguageLabel";
|
|
import { oops } from "../../Oops";
|
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
/** 公共提示窗口 */
|
|
@ccclass("CommonPrompt")
|
|
export class CommonPrompt extends Component {
|
|
/** 窗口标题多语言组件 */
|
|
@property(LanguageLabel)
|
|
private lab_title: LanguageLabel | null = null;
|
|
|
|
/** 提示内容多语言组件 */
|
|
@property(LanguageLabel)
|
|
private lab_content: LanguageLabel | null = null;
|
|
|
|
/** 确认按钮文本多语言组件 */
|
|
@property(LanguageLabel)
|
|
private lab_ok: LanguageLabel | null = null
|
|
|
|
/** 取消按钮文本多语言组件 */
|
|
@property(LanguageLabel)
|
|
private lab_cancel: LanguageLabel | null = null;
|
|
|
|
private config: any = {};
|
|
|
|
/**
|
|
*
|
|
*
|
|
* @param params 参数
|
|
* {
|
|
* title: 标题
|
|
* content: 内容
|
|
* okWord: ok按钮上的文字
|
|
* okFunc: 确认时执行的方法
|
|
* cancelWord: 取消按钮的文字
|
|
* cancelFunc: 取消时执行的方法
|
|
* needCancel: 是否需要取消按钮
|
|
* }
|
|
*/
|
|
onAdded(params: any): boolean {
|
|
this.config = params || {};
|
|
this.setTitle();
|
|
this.setContent();
|
|
this.setBtnOkLabel();
|
|
this.setBtnCancelLabel();
|
|
this.node.active = true;
|
|
return true;
|
|
}
|
|
|
|
private setTitle() {
|
|
this.lab_title!.dataID = this.config.title;
|
|
}
|
|
|
|
private setContent() {
|
|
this.lab_content!.dataID = this.config.content;
|
|
}
|
|
|
|
private setBtnOkLabel() {
|
|
this.lab_ok!.dataID = this.config.okWord;
|
|
}
|
|
|
|
private setBtnCancelLabel() {
|
|
if (this.lab_cancel) {
|
|
this.lab_cancel.dataID = this.config.cancelWord;
|
|
this.lab_cancel.node.parent!.active = this.config.needCancel || false;
|
|
}
|
|
}
|
|
|
|
private onOk() {
|
|
if (typeof this.config.okFunc == "function") {
|
|
this.config.okFunc();
|
|
}
|
|
this.close();
|
|
}
|
|
|
|
private onClose() {
|
|
if (typeof this.config.closeFunc == "function") {
|
|
this.config.closeFunc();
|
|
}
|
|
this.close();
|
|
}
|
|
|
|
private onCancel() {
|
|
if (typeof this.config.cancelFunc == "function") {
|
|
this.config.cancelFunc();
|
|
}
|
|
this.close();
|
|
}
|
|
|
|
private close() {
|
|
oops.gui.removeByNode(this.node);
|
|
}
|
|
|
|
onDestroy() {
|
|
this.config = null;
|
|
}
|
|
} |