first commit
This commit is contained in:
53
assets/seripts/ui/PauseModal.ts
Normal file
53
assets/seripts/ui/PauseModal.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import { _decorator, Component, director, Node } from "cc";
|
||||
import { EventDispatcher } from "../libs/EventDispatcher";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("PauseModal")
|
||||
export class PauseModal extends Component {
|
||||
start() {
|
||||
// 隐藏暂停游戏弹窗
|
||||
this.node.active = false;
|
||||
// 初始化位置
|
||||
this.node.setPosition(0, 0, 0);
|
||||
// 监听继续游戏事件
|
||||
EventDispatcher.getTarget().on(
|
||||
EventDispatcher.SHOW_PAUSE_MODAL,
|
||||
this.showModal,
|
||||
this,
|
||||
);
|
||||
}
|
||||
|
||||
// 显示弹窗
|
||||
showModal() {
|
||||
this.node.active = true;
|
||||
// 暂停游戏
|
||||
director.pause();
|
||||
// 发送暂停游戏事件
|
||||
EventDispatcher.getTarget().emit(EventDispatcher.GAME_PAUSE);
|
||||
// 发送继续游戏弹窗
|
||||
EventDispatcher.getTarget().emit(EventDispatcher.SHOW_CONTINUE_MODAL);
|
||||
}
|
||||
|
||||
// 关闭弹窗
|
||||
closeModal() {
|
||||
this.node.active = false;
|
||||
// 恢复游戏继续
|
||||
director.resume();
|
||||
}
|
||||
|
||||
// 回到首页
|
||||
backToHome() {
|
||||
// 恢复游戏继续
|
||||
director.resume();
|
||||
// 跳转到首页
|
||||
director.loadScene("home");
|
||||
}
|
||||
|
||||
// 继续游戏
|
||||
resumeGame() {
|
||||
// 关闭弹窗
|
||||
this.closeModal();
|
||||
}
|
||||
|
||||
update(deltaTime: number) {}
|
||||
}
|
||||
Reference in New Issue
Block a user