import { _decorator, Component } from 'cc'; import { AppStatusManager } from '../App/AppStatus/AppStatusManager'; const { ccclass, property } = _decorator; /** * Boot启动组件 * * 使用方法: * 1. 在Cocos Creator中打开主场景(main.scene) * 2. 创建一个空节点,命名为 "Boot" * 3. 将此脚本挂载到Boot节点上 * 4. 运行游戏,应用将自动启动 * * 职责: * - 作为整个应用的入口点 * - 初始化AppStatusManager * - 启动应用状态流转 * - 在每帧更新状态机 */ @ccclass('Boot') export class Boot extends Component { private _appStatusManager: AppStatusManager | null = null; /** * 组件首次激活时调用 */ start() { console.log("================================="); console.log(" Cocos3.x Roguelike Game"); console.log(" Boot Component Started"); console.log("================================="); // 初始化并启动应用 this.initApp(); } /** * 初始化应用 */ private initApp(): void { console.log("[Boot] 初始化应用..."); try { // 1. 获取AppStatusManager单例 this._appStatusManager = AppStatusManager.getInstance(); // 2. 启动应用(从Boot状态开始) this._appStatusManager.start(); console.log("[Boot] 应用启动成功"); } catch (error) { console.error("[Boot] 应用启动失败:", error); } } /** * 每帧更新 * @param deltaTime 距离上一帧的时间增量(秒) */ update(deltaTime: number) { // 更新应用状态机 if (this._appStatusManager) { this._appStatusManager.update(deltaTime); } } /** * 组件销毁时调用 */ onDestroy() { console.log("[Boot] 组件销毁"); // 销毁应用状态管理器 if (this._appStatusManager) { this._appStatusManager.destroy(); this._appStatusManager = null; } } }