import { RoleConf } from "../ui/tower/conf/RoleConf"; //服务器端返回的英雄数据 interface RoleServer { id: string; //英雄id 动物形象id grade: number; //星级 dna_lv: string; //基因等级 dna_attr: { any } //基因属性 equip: [];//读取状态 skin: [];//皮肤 fight_force: number;//战力 conf: {}//配置 } //出战英雄数据[种族1 typeID,种族2 typeID,种族3 typeID,种族4 typeID] export type FightRole = [number, number, number, number] class Data { private _roles: { [id: string]: RoleServer } = {}; //上阵英雄 private _fightRole: FightRole = [0, 0, 0, 0]; //羁绊 private _fate: { [id: string]: number } = {}; setData(data: { [id: string]: RoleServer }): void { let rConf = RoleConf.data; if (data) { for (const id in data) { if (data.hasOwnProperty(id)) { if (rConf[id]) { const role = data[id]; role.conf = rConf[id]; this._roles[id] = role; // console.log(`ID: ${id}, Name: ${role.name}, Level: ${role.level}`); } } } } } getData() { return this._roles; } getRoleDataByID(id: string | number): RoleServer { if (typeof id === 'number') { id = id.toString(); } return this._roles[id]; } setRoleDataByID(id: string | number, data: RoleServer) { if (typeof id === 'number') { id = id.toString(); } if (this._roles[id]) { this._roles[id] = data; } } //设置出战角色 data {"1":"xxx","2":"xxx","3":"xxx","4":"xxx"} set fightRole(data: { [key: string]: string } | FightRole) { if (!data) return; this._fightRole = [0, 0, 0, 0]; if (Array.isArray(data)) { this._fightRole = data as FightRole; } else { for (let i = 0; i < this._fightRole.length; i++) { this._fightRole[i] = Number(data[(i + 1).toString()] || "0"); } } } //获取出战角色 get fightRole() :FightRole{ // return [101,201,301,401]; return this._fightRole; } set fate(data: { [key: string]: {} }) { } get fate() { return this._fate; } } export let RoleData = new Data;