import { ItemEnum } from "../common/InterfaceAddEnum"; export interface Equip { id: string; count: number; exp: number; star: number; wear: boolean; type: ItemEnum; fightForce: number conf: {}; } class Data { private _equipData: { [id: string]: Equip } = {}; private _bagData: { [id: string]: Equip } = {}; set equipData(data: { [id: string]: Equip }) { this._equipData = data; } get equipData(): { [id: string]: Equip } { return this._equipData; } set bagData(data: { [id: string]: Equip }) { this._bagData = data; } get bagData(): { [id: string]: Equip } { return this._bagData; } init(): void { this.reset(); } reset(): void { this._equipData = {}; this._bagData = {}; } purge(): void { this.reset(); } getData() { return this._bagData; } addDataByKey(key,data) { this._bagData[key] = data; } removeDataByKey(key) { if (this._bagData.hasOwnProperty(key)) { delete this._bagData[key]; } } parseDataByServer(data) { for (const key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { const element = data[key]; if(this._bagData[key]){ if(element > 0){ let equip = EquipManager.getEquipById(key, element, false); if (equip) { this._bagData[key] = equip; } }else{ delete this._bagData[key]; } }else{ let equip = EquipManager.getEquipById(key, element, false); if (equip) { this._bagData[key] = equip; } } } } } } export let EquipData = new Data;