Files
18xchat/assets/Scripts/Sub/MainScene.ts
T
2025-09-21 19:49:11 +08:00

46 lines
1.3 KiB
TypeScript

import { _decorator, Camera, Component, Node } from "cc";
import GameRootUI from "../Main/Common/GameRootUI";
import { MainController } from "../chat18x/core/MainController";
import { logger } from "db://assets/Scripts/Main/Common/Logger";
const { ccclass, property } = _decorator;
//主界面场景
@ccclass("MainScene")
export class MainScene extends Component {
@property(Node)
UIRoot: Node = null;
@property(Node)
UILayerMod: Node = null;
@property(Camera)
MainCamera: Camera = null;
start() {}
init() {
//每个场景必须添加的
let gameRootUI = this.node.getComponent(GameRootUI);
if (!gameRootUI) {
gameRootUI = this.node.addComponent(GameRootUI);
gameRootUI.InitByCreate(this.UIRoot, this.UILayerMod, "NavigationPanel");
}
GameRootUI.MainCamera = this.MainCamera;
// 初始化MainController并预加载数据
this.initMainController();
}
/**
* 初始化MainController并预加载数据
*/
private async initMainController(): Promise<void> {
try {
logger.log("[MainScene] 开始初始化MainController");
await MainController.I.init();
logger.log("[MainScene] MainController初始化完成");
} catch (error) {
logger.error("[MainScene] MainController初始化失败:", error);
}
}
}