_getSelfMysql(), 't_hero', array( 'accountid' => $this->_getAccountId() ), function ($row) use(&$heroList) { array_push($heroList, Hero::toDto($row)); } ); $this->_rspData(array( 'hero_list' => $heroList )); } public function skinList() { $skinList = array(); SqlHelper::ormSelect( $this->_getSelfMysql(), 't_hero_skin', array( 'accountid' => $this->_getAccountId() ), function ($row) use(&$skinList) { array_push($skinList, HeroSkin::toDto($row)); } ); $this->_rspData(array( 'skin_list' => $skinList )); } public function buyHero() { $heroId = getReqVal('hero_id', 0); $buyType = getReqVal('buy_type', 0); $heroMeta = mt\Hero::get($heroId); if ($heroMeta) { $this->_rspErr(1, 'hero_id参数错误'); return; } if (empty($heroMeta['itemid'])) { $this->_rspErr(2, 'hero.item_id配置错误'); return; } if (!in_array($buyType, array(0, 1))) { $this->_rspErr(1, 'buy_type参数错误'); return; } $shopMeta = mt\Shop::get(mt\Shop::HERO_SHOP_ID); if (!$shopMeta) { $this->_rspErr(2, '配置表错误'); return; } $goodsInfo = mt\Shop::getGoodsInfo($shopMeta, $heroMeta['itemid']); if (empty($goodsInfo)) { $this->_rspErr(2, '配置表错误'); return; } $costItems = array( 'item_id' => $goodsInfo['costItemId'], 'item_num' => $goodsInfo['costItemNum'], ); $lackItem = null; if (!$this->_hasEnoughItemsEx($costItems, $lackItem)) { $this->_rspErr(3, '道具不足'); return; } $this->_decItems($costItems); Hero::addHero($heroMeta); } public function buySkin() { $skinId = getReqVal('skin_id', 0); $skinMeta = mt\Item::get($skinId); if (!$skinMeta) { $this->_rspErr(1, 'skin_id参数错误'); return; } if (!mt\Item::isType($skinMeta, mt\Item::SKIN_TYPE)){ $this->_rspErr(1, 'skin_id参数错误'); return; } HeroSkin::addSkin($skinId); } public function takeonSkin() { $heroId = getReqVal('hero_id', 0); $skinId = getReqVal('skin_id', 0); $heroDb = Hero::find($heroId); $heroSkinDb = Hero::find($skinId); if (!$heroDb) { $this->_rspErr(1, '你还没这个英雄'); return; } if (!$heroSkinDb) { $this->_rspErr(2, '你还没这个皮肤'); return; } Hero::takeonSkin($heroId, $skinId); $this->_rspOk(); } public function upgradeSkill() { $heroId = getReqVal('hero_id', 0); $skillIdx = getReqVal('skill_idx', 0); $heroDb = Hero::find($heroId); if (!$heroDb) { $this->_rspErr(1, '你还没这个英雄'); return; } if (!in_array($skillIdx, array(0, 1))) { $this->_rspErr(1, 'skill_idx参数必须为0-1'); return; } Hero::upgradeSkill($heroId, $skillIdx); $this->_rspOk(); } public function useYokeItem() { $heroId = getReqVal('hero_id', 0); $itemId = getReqVal('item_id', 0); $itemNum = getReqVal('item_num', 0); $this->_rspOk(); } }