import { find } from "cc"; import { BaseState } from "../../Framework/FSM/BaseState"; import { NetManager } from "../../Framework/Net/NetManager"; import { UIMgr } from "../../Framework/UI/UIMgr"; /** * 应用启动状态 * 职责: * - 初始化游戏引擎 * - 加载基础配置 * - 初始化网络管理器 * - 准备第一个UI界面 */ export class AppStatusBoot extends BaseState { constructor(fsm: any) { super(fsm, "Boot"); } /** * 进入启动状态 */ async onEnter(params?: any): Promise { super.onEnter(params); console.log("[AppStatusBoot] 开始初始化应用..."); try { // 初始化UI console.log("[AppStatusBoot] 初始化UI管理器..."); UIMgr.getInstance().setUIRoot(find("Canvas")!); // 1. 初始化并连接网络 await this.initAndConnectNet(); // 2. 初始化完成,切换到登录状态 console.log("[AppStatusBoot] 启动完成,切换到登录状态"); this._fsm.changeState("Login"); } catch (error) { console.error("[AppStatusBoot] 初始化失败:", error); } } /** * 初始化并连接网络 */ private async initAndConnectNet(): Promise { console.log("[AppStatusBoot] 初始化网络管理器..."); // TODO: 从配置文件读取服务器地址 // import { serviceProto } from '../../Shared/protocols/serviceProto'; // const netManager = NetManager.getInstance(); // netManager.setServiceProto(serviceProto); // netManager.init({ serverUrl: 'http://localhost:3000' }); // await netManager.connect(); console.log("[AppStatusBoot] 网络连接完成(待配置)"); } /** * 退出启动状态 */ onExit(): void { super.onExit(); console.log("[AppStatusBoot] 离开启动状态"); } }