import { _decorator, Component, ProgressBar } from 'cc'; import { ViewManager } from './scripts/core/ViewManager'; const { ccclass, property } = _decorator; /** * 页面加载组件 * 负责预加载资源并显示加载进度 */ @ccclass('PageLoading') export class PageLoading extends Component { @property(ProgressBar) progressBar: ProgressBar | null = null; start() { this._startPreload(); } /** * 开始预加载 */ private _startPreload(): void { // 初始化进度条 if (this.progressBar) { this.progressBar.progress = 0; } // 预加载 PageHome ViewManager.instance.preload('PageHome', (progress) => { this._updateProgress(progress); }, () => { this._onPreloadComplete(); } ); } /** * 更新进度条 */ private _updateProgress(progress: number): void { if (this.progressBar) { this.progressBar.progress = progress; } } /** * 预加载完成回调 */ private _onPreloadComplete(): void { // 确保进度条显示完成 this._updateProgress(1); // 打开 PageHome ViewManager.instance.open('PageHome', { onComplete: () => { // PageHome 打开成功后,销毁自身 this.node.destroy(); } }); } }