cmd) { case CmdCode::cmd_store_put: # 6401 放入仓库 return StoreProc::AddItemInStore(); case CmdCode::cmd_store_equip: # 6402 return StoreProc::equip(); case CmdCode::cmd_store_equipUpgrade: # 6403 return StoreProc::equipUpgrade(); case CmdCode::cmd_store_equipUpgrade_MaxLv: # 6404 return StoreProc::equipUpgrade_MaxLv(); default: Err(ErrCode::cmd_err); } } public static function equip() { list($uid) = req()->paras; $user = ctx(); //my_Assert(ErrCode::ok == $err, $err); UserProc::updateUserInfo(); return Resp::ok(array( //'gold' => $user->baseInfo->gold, //'tili' => $user->baseInfo->tili, //'cash' => $user->baseInfo->cash, 'store' => $user->store)); } public static function equipUpgrade() { list($uid) = req()->paras; //mask = 1:表示战斗中掉落 $user = ctx(); UserProc::updateUserInfo(); return Resp::ok(array( //'gold' => $user->baseInfo->gold, //'tili' => $user->baseInfo->tili, //'cash' => $user->baseInfo->cash, 'store' => $user->store)); } public static function equipUpgrade_MaxLv() { list($uid) = req()->paras; //mask = 1:表示战斗中掉落 $user = ctx(); UserProc::updateUserInfo(); return Resp::ok(array( //'gold' => $user->baseInfo->gold, //'tili' => $user->baseInfo->tili, //'cash' => $user->baseInfo->cash, 'store' => $user->store)); } public static function AddItemInStore() { list($rwdStr) = req()->paras; //mask = 1:表示战斗中掉落 $user = ctx(); $err = self::AddMultiItemInStore($rwdStr); my_Assert(ErrCode::ok == $err, $err); UserProc::updateUserInfo(); return Resp::ok(array( //'gold' => $user->baseInfo->gold, //'tili' => $user->baseInfo->tili, //'cash' => $user->baseInfo->cash, 'store' => $user->store)); } /** * 具体奖励存入背包 * @param type $goodsStr * @param type $src */ public static function AddMultiItemInStore($goodsStr, $src = 1) { $ary = explode(";", $goodsStr); foreach ($ary as $value) { $val = explode(",", $value); my_Assert(count($val) > 1, "解析奖励字符串出错"); list($itemId, $num) = $val; # ID, 数量 $itemMo = GameConfig::item_getItem($itemId); switch ($itemMo->itemType) { case 1: self::PutItemsInStore($itemId, $num); break; case 2: self::PutEquipInStore($itemId, $num); break; default: break; } } } public static function PutItemsInStore($itemId,$num) { $items = ctx()->store->items; if(StlUtil::dictHasProperty($items, $itemId)){ $items->$itemId += $num; } else { $items->$itemId = $num; } ctx()->store->items = $items; } public static function PutEquipInStore($equipId,$num) { $n = count((array)ctx()->store->equip); for ($index = 0; $index < $num; $index++) { $Equip = new Ins_Equip(); ctx()->store->equip->$n = $Equip; } } }