Files
heros/assets/script/game/common/SingletonModuleComp.ts
2025-06-26 10:49:08 +08:00

116 lines
2.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 } 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;
vmdata: any = {
game_over:false,
game_pause:false,
mission_data:{
},
hero:{
hp:0,
hp_max:0,
hp_buff:0,
cd:3,
damage:0,
ap:0,
equip_ap:0,
buff_ap:0,
debuff_ap:0,
def:0,
crit:0,
crit_d:99,
dod:99,
dod_no:false,
crit_no:false,
wind:0,
thorns:0,
lifesteal:0,
},
friend:{
hp:0,
hp_max:0,
hp_buff:0,
cd:3,
damage:0,
ap:0,
equip_ap:0,
buff_ap:0,
debuff_ap:0,
def:0,
crit:0,
crit_d:99,
dod:99,
dod_no:false,
crit_no:false,
wind:0,
thorns:0,
lifesteal:0,
},
boss:{
hp:0,
hp_max:0,
hp_buff:0,
cd:3,
damage:0,
ap:0,
equip_ap:0,
buff_ap:0,
debuff_ap:0,
def:0,
crit:0,
crit_d:99,
dod:99,
dod_no:false,
crit_no:false,
wind:0,
thorns:0,
lifesteal:0,
},
};
vmAdd() {
this.vmdata.mission_data=MissionData
VM.add(this.vmdata, "data");
}
reset() {
for (var key in this.vmdata) {
delete this.vmdata[key];
}
}
}
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp);