Files
heros/assets/script/game/common/SingletonModuleComp.ts
2025-08-11 23:13:16 +08:00

60 lines
1.6 KiB
TypeScript

import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { Initialize } from "../initialize/Initialize";
import { GameMap } from "../map/GameMap";
import { HeroUI, MissionData, VmInfo } from "./config/Mission";
// import { Role } from "../role/Role";
// import { data } from "../data/data";
/** 游戏模块 */
@ecs.register('SingletonModule')
export class SingletonModuleComp extends ecs.Comp {
/** 游戏初始化模块 */
initialize: Initialize = null!;
/** 游戏地图 */
map: GameMap = null!;
mission:any={
status:0, //0:未开始 1:进行中 2:胜利 3:失败
play:false,
pause:false,
in_select:false,
score:888,
};
fight_heros:any={
0:5001,
1:5005,
2:0,
3:0,
4:0,
}
heros:any = {
5001:{lv:1},
5005:{lv:1},
5007:{lv:1},
};
monsters:any = [];
sk_info:any = []
monsters_dead:any = []
heros_dead:any = []
enhancements:any=[]
vmdata: any = {
game_over:false,
game_pause:false,
mission_data:{ },
hero:{ },
boss:{ },
};
vmAdd() {
this.vmdata.mission_data=JSON.parse(JSON.stringify(MissionData))
this.vmdata.hero=JSON.parse(JSON.stringify(VmInfo))
VM.add(this.vmdata, "data");
}
reset() {
for (var key in this.vmdata) {
delete this.vmdata[key];
}
}
}
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp);