Files
heros/assets/script/game/common/SingletonModuleComp.ts
2024-09-12 11:14:37 +08:00

127 lines
3.3 KiB
TypeScript

/*
* @Author: dgflash
* @Date: 2021-11-18 14:20:46
* @LastEditors: dgflash
* @LastEditTime: 2022-08-04 15:46:16
*/
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 { BoxSet } from "./config/BoxSet";
import { Role } from "../Role/Role";
import { v3 } from "cc";
// 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!;
cards: any = [
{uuid:9001,type:1},{uuid:9011,type:1},{uuid:9021,type:1},{uuid:9031,type:1},{uuid:9041,type:1}
];
player_skills: any = [
];
player_buffs: any = [
{x:-BoxSet.CSKILL_X,y:BoxSet.CSKILL_Y,eid:0},
{x:-BoxSet.CSKILL_X+55,y:BoxSet.CSKILL_Y,eid:0},
{x:-BoxSet.CSKILL_X+110,y:BoxSet.CSKILL_Y,eid:0},
{x:-BoxSet.CSKILL_X+165,y:BoxSet.CSKILL_Y,eid:0},
{x:-BoxSet.CSKILL_X,y:BoxSet.CSKILL_Y+55,eid:0},
{x:-BoxSet.CSKILL_X+55,y:BoxSet.CSKILL_Y+55,eid:0},
{x:-BoxSet.CSKILL_X+110,y:BoxSet.CSKILL_Y+55,eid:0},
{x:-BoxSet.CSKILL_X+165,y:BoxSet.CSKILL_Y+55,eid:0},
];
monster_buffs: any = [];
/** 游戏主角 */
Role: Role = null;
t_monster:any={eid:0,pos:v3(0,0,0)};
t_hero:any={eid:0,pos:v3(0,0,0)};
/** 游戏数据 */
// data:data = null!;
/**怪物数据 数组 */
/**heros 数据 */
heros:any = [];
monsters:any = [];
skills:any = []
sk_info:any = []
monsters_dead:any = []
heros_dead:any = []
least_hp_monster_eid:number=0;
least_hp_monster_hp:number=1000;
least_hp_hero_eid:number=0;
least_hp_hero_hp:number=1000;
vm_data: any = {
name : "纸片精灵大乱斗",
game_over:false,
/**宝石数量 */
gems: 4,
unlock:5,
game:{
t_damge:0,
t_dps:0,
h_dps:0,
m_dps:0,
g_level:1,
g_time:0,
},
role:{
hp:300,
atk:10,
lv:1,
exp:0,
next_exp:100,
power:300,
atk_cd:2,
},
/** 当前等级 */
cards:{
level:1,
level_max:4,
eid:0,
ref_cost:1,
up_cost:4,
},
gold: {
min: 1,
max: 200,
max_limit:10,
time:0,
cd:1,
},
shuaxin: {
min: 0,
max: 5,
speed:1,
},
item_box:{
hp:0,
atk:0,
atk_cd:0,
power:0,
name:"",
skillcd:0,
skillsd:0,
shield:0,
info:"",
}
};
vmAdd() {
VM.add(this.vm_data, "data");
}
reset() {
for (var key in this.vm_data) {
delete this.vm_data[key];
}
}
}
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp);