Files
mp-xieyingeng/assets/prefabs/PagePKEnd.ts
2026-05-10 15:10:57 +08:00

56 lines
1.6 KiB
TypeScript

import { _decorator, Button, Node } from 'cc';
import { BaseView } from 'db://assets/scripts/core/BaseView';
import { ViewManager } from 'db://assets/scripts/core/ViewManager';
import { ShareManager } from 'db://assets/scripts/utils/ShareManager';
const { ccclass, property } = _decorator;
@ccclass('PagePKEnd')
export class PagePKEnd extends BaseView {
@property({ type: Node, tooltip: '返回首页按钮' })
settingButton: Node | null = null;
onViewLoad(): void {
this._resolveNodes();
this._bindEvents();
}
onViewShow(): void {
console.log('[PagePKEnd] onViewShow');
}
onViewDestroy(): void {
this._unbindEvents();
}
private _resolveNodes(): void {
if (!this.settingButton || !this.settingButton.isValid) {
this.settingButton = this.node.getChildByName('SettingButton');
}
if (!this.settingButton) {
console.warn('[PagePKEnd] 未找到 SettingButton 节点');
}
}
private _bindEvents(): void {
const button = this.settingButton?.getComponent(Button);
if (!button) {
console.warn('[PagePKEnd] SettingButton 缺少 Button 组件');
return;
}
this.settingButton?.on(Button.EventType.CLICK, this._onHomeClick, this);
}
private _unbindEvents(): void {
if (this.settingButton && this.settingButton.isValid) {
this.settingButton.off(Button.EventType.CLICK, this._onHomeClick, this);
}
}
private _onHomeClick(): void {
ShareManager.instance.clearShareMode();
ViewManager.instance.replace('PageHome');
}
}