1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import { ItemEnum } from "../common/InterfaceAddEnum";
- import { RoleConf } from "../ui/tower/conf/RoleConf";
- //服务器端返回的英雄数据
- export interface RoleServer {
- id: string; //英雄id 动物形象id
- grade: number; //星级
- dna_lv: string; //基因等级
- dna_attr: { any } //基因属性
- equip: [];//读取状态
- skin: [];//皮肤
- fight_force: number;//战力
- }
- export interface Role extends RoleServer {
- conf: {};//配置
- attr: {};//属性
- type:ItemEnum
- }
- //出战英雄数据[种族1 typeID,种族2 typeID,种族3 typeID,种族4 typeID]
- export type FightRole = [number, number, number, number]
- class Data {
- private _roles: { [id: string]: Role } = {};
- //上阵英雄
- private _fightRole: FightRole = [0, 0, 0, 0];
- //羁绊
- private _fate: { [id: string]: {} } = {};
- setData(data: { [id: string]: Role }): 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;
- role.type = ItemEnum.role;
- // console.log(`ID: ${id}, Name: ${role.name}, Level: ${role.level}`);
- }
- }
- }
- }
- }
- getData() {
- return this._roles;
- }
- getRoleDataByID(id: string | number): Role {
- if (typeof id === 'number') {
- id = id.toString();
- }
- return this._roles[id];
- }
- setRoleDataByID(id: string | number, data: Role) {
- 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]: {} }) {
- this._fate = data;
- }
- get fate() {
- return this._fate;
- }
- }
- export let RoleData = new Data;
|