80 lines
2.1 KiB
TypeScript
80 lines
2.1 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 { 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,
|
|
is_victory:false,
|
|
is_defeat:false,
|
|
is_battle:false,
|
|
lv:0,
|
|
victory:0,
|
|
mskill:6001,
|
|
mmskill:6002,
|
|
};
|
|
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 = {
|
|
name : "纸片精灵大乱斗",
|
|
game_over:false,
|
|
game_pause:false,
|
|
mission:{
|
|
once:6, //每波刷新怪物数量
|
|
total:1, //总怪物数
|
|
exp:0,
|
|
exp_max:100,
|
|
mexp:0,
|
|
mexp_max:100,
|
|
drop:0,
|
|
hp:0,
|
|
ap:0,
|
|
def:0,
|
|
crit:0,
|
|
dodge:0,
|
|
dead:0,
|
|
reward_num:0, //怪物死亡数
|
|
reward_gold:0,
|
|
reward_exp:0,
|
|
},
|
|
gold:{num:999999,x1:0},
|
|
exp:{num:1000,x1:0},
|
|
skp:{num:2000,x1:0}, //技能升级点数
|
|
energy:{num:10,x1:0},
|
|
box:{num:10,x1:0},
|
|
|
|
};
|
|
vmAdd() {
|
|
VM.add(this.vmdata, "data");
|
|
|
|
}
|
|
reset() {
|
|
for (var key in this.vmdata) {
|
|
delete this.vmdata[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp); |