/** * 判断是否主角全满级 * * @access public * @param int $user_id 用户ID * @return array */ public function isGenerlMax($user_id) { $file = IniFileManager::getRootDir() . "/files/csv/general.csv"; $generlArr = CharacterAction::readCsv($file); $userGeneral = UserCache::getByKey($user_id, 's_general_info'); if (!$userGeneral) { $userGeneral = GeneralModel::getUserGeneralInfo($user_id); UserCache::setByKey($user_id, 's_general_info', $userGeneral); } $attribute = array(1 => 'n_continue_level', 2 => 'n_cool_level'); $generalNum = 0; if (count($userGeneral) >= count($generlArr)) { foreach ($userGeneral as $key => $value) { foreach ($attribute as $key2 => $value2) { $generalNum += Constants::MAX_LEVEL - $value[$value2]; } } } else { $generalNum = 10; } return $generalNum; }
/** * API:武将解锁直接拥有 * * @access public * @param int $user_id 用户ID $general_id主角ID * @return array */ public function isUnlock($user_id) { $starNum = GameAction::getUserStar($user_id); $userGeneral = UserCache::getByKey($user_id, 's_general_info'); if (!$userGeneral) { $userGeneral = GeneralModel::getUserGeneralInfo($user_id); UserCache::setByKey($user_id, 's_general_info', $userGeneral); } //读取系统武将,属性列表 $file = IniFileManager::getRootDir() . "/files/csv/general.csv"; $generalArr = CharacterAction::readCsv($file); foreach ($generalArr as $key => $value) { if (!$userGeneral[$value['general_id']]) { if ($starNum >= $value['unlock_star']) { //添加新武将到武将信息字段、更新用户金钱 $userGeneral[$value['general_id']] = array('n_continue_level' => 0, 'n_cool_level' => 0); $unlockInfo = $value['general_id']; } } } $s_general_info = serialize($userGeneral); $ret = GeneralModel::update(array('s_general_info' => $s_general_info), array('n_id' => $user_id)); UserCache::setByKey($user_id, 's_general_info', $userGeneral); //更新战斗力 $battle = UserAction::getUserBattle($user_id); GeneralModel::update(array('n_battle' => $battle), array('n_id' => $user_id)); UserCache::setByKey($user_id, 'n_battle', $battle); return $unlockInfo ? $unlockInfo : 0; }