|
@@ -143,32 +143,38 @@ class StoreProc {
|
|
|
}
|
|
|
|
|
|
//升级,扣除金币和图纸
|
|
|
- while (true) {
|
|
|
- $n = count($arr);
|
|
|
- for($k = 0; $k < $n; $k++){
|
|
|
- $equip = new Ins_Equip($arr[$k]);
|
|
|
+ while (true) {
|
|
|
+ $tag = 9999;
|
|
|
+ foreach ($arr as $index => $equip) {
|
|
|
+ $ins_equip = new Ins_Equip($equip);
|
|
|
$lvMo = GameConfig::equip_levelupgrade_getItem($equip->level);
|
|
|
$needGold = $lvMo->needGold;
|
|
|
$needItemNum = $lvMo->needItemNum;
|
|
|
- $neeItemId = $equip->mo()->costTuzhiId;
|
|
|
-
|
|
|
+ $neeItemId = $ins_equip->mo()->costTuzhiId;
|
|
|
if($user->baseInfo->gold >= $needGold && StlUtil::dictHasProperty($user->store->items, $neeItemId) && $user->store->items->$neeItemId >= $needItemNum){
|
|
|
$id = $equip->typeId;
|
|
|
$equip->level += 1;
|
|
|
- $arr[$k] = $equip;
|
|
|
+
|
|
|
$equipDic->$id->level += 1;
|
|
|
$user->baseInfo->Consume_Gold($needGold);
|
|
|
$user->store->removeItem($neeItemId, $needItemNum);
|
|
|
-
|
|
|
- } else {
|
|
|
- StlUtil::arrayRemoveAt($arr, $k);
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ $tag = $index;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if($tag != 9999){
|
|
|
+ if(array_key_exists($tag, $arr)){
|
|
|
+ StlUtil::arrayRemoveAt($arr, $tag);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if(count($arr) <= 0){
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|