diff --git a/src/logic/ItemCtrl.ts b/src/logic/ItemCtrl.ts index a88a469..09e1a66 100644 --- a/src/logic/ItemCtrl.ts +++ b/src/logic/ItemCtrl.ts @@ -99,20 +99,40 @@ let ItemMan = { * @returns 物品列表 */ getItemsByInfo(infostr: string): ItemInfo[]{ - let reslst: ItemInfo[] = []; + let itemlst: ItemInfo[] = []; let lst = infostr.split('|'); lst.forEach((v: string) =>{ let item = new ItemInfo(); if(item.loadInfo(v)){ let obj = this.findItem(item.id); obj && (item.type = obj._type); - reslst.push(item); + itemlst.push(item); } }); + let clst: CIC[] = []; + itemlst.forEach((item: ItemInfo) =>{ + this.internalUseItem(item.id, item.count, false, clst); + }); + + let reslst:ItemInfo[] = []; + clst.forEach((item: CIC) => { + reslst.push(item.info); + }); return reslst; }, + internalUseItem(itemid: number, count: number, dpcard: boolean, reslst: CIC[]){ + let obj: CommonItem = this.findItem(itemid); + if(!obj){ + return false; + } + + this._useItem(obj, count, dpcard, reslst); + + return true; + }, + _useItem(item: CommonItem, count: number, dpcard: boolean, reslst: CIC[]){ if(item.isPackage() && item._isautoopen){ this._openItemPkg(item, count, false, reslst);