56 lines
1.6 KiB
TypeScript
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');
|
|
}
|
|
}
|