Main.ts
2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import GameConfig from "./GameConfig";
import AdManager from "./sdk/AdManager";
import { AppSdk } from "./sdk/AppSdk";
import RedpacketModel from "./sdk/model/RedpacketModel";
import ShakeModel from "./sdk/model/ShakeModel";
class Main {
constructor() {
//根据IDE设置初始化引擎
if (window["Laya3D"]) Laya3D.init(GameConfig.width, GameConfig.height);
else Laya.init(GameConfig.width, GameConfig.height, Laya["WebGL"]);
Laya["Physics"] && Laya["Physics"].enable();
Laya["DebugPanel"] && Laya["DebugPanel"].enable();
Laya.stage.scaleMode = GameConfig.scaleMode;
Laya.stage.screenMode = GameConfig.screenMode;
Laya.stage.alignV = GameConfig.alignV;
Laya.stage.alignH = GameConfig.alignH;
//兼容微信不支持加载scene后缀场景
Laya.URL.exportSceneToJson = GameConfig.exportSceneToJson;
//打开调试面板(通过IDE设置调试模式,或者url地址增加debug=true参数,均可打开调试面板)
if (GameConfig.debug || Laya.Utils.getQueryString("debug") == "true") Laya.enableDebugPanel();
if (GameConfig.physicsDebug && Laya["PhysicsDebugDraw"]) Laya["PhysicsDebugDraw"].enable();
if (GameConfig.stat) Laya.Stat.show();
Laya.alertGlobalError = true;
//激活资源版本控制,version.json由IDE发布功能自动生成,如果没有也不影响后续流程
Laya.ResourceVersion.enable("version.json", Laya.Handler.create(this, this.onVersionLoaded), Laya.ResourceVersion.FILENAME_VERSION);
}
onVersionLoaded(): void {
//激活大小图映射,加载小图的时候,如果发现小图在大图合集里面,则优先加载大图合集,而不是小图
Laya.AtlasInfoManager.enable("fileconfig.json", Laya.Handler.create(this, this.onConfigLoaded));
}
onConfigLoaded(): void {
this.initData();
//加载IDE指定的场景
GameConfig.startScene && Laya.Scene.open(GameConfig.startScene);
}
/**初始化SDK */
async initData() {
/**隐藏启动屏 */
AppSdk.I.hideSplash()
/**初始化adk 获取app配置信息 */
AppSdk.I.init();
/**预加载视频 */
AdManager.I.init();
/**获取红包配置 初始化数据 */
await RedpacketModel.I.init();
/**初始化摇一摇的数据 */
await ShakeModel.I.init()
}
}
//激活启动类
new Main();