Files
heros/assets/script/game/common/SingletonModuleComp.ts
2025-07-16 10:38:47 +08:00

65 lines
1.7 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 { 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=[]
mheros:any = [];
monsters:any = [];
sk_info:any = []
monsters_dead:any = []
heros_dead:any = []
hero_pos:any=[]
enemy_pos:any =[]
hero_front_x:number = 0;
hero_back_x:number = 0;
mon_front_x:number = 0;
mon_back_x:number = 0;
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))
this.vmdata.boss=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);