getOfferRewardMissions() as $mission) { $meta = self::get($mission['mission_id']); if ($meta && $meta['type'] == self::OFFER_REWARD_MISSON_TYPE) { array_push($metaList, $meta); } } } else { foreach (self::getMetaList() as $meta) { switch ($type) { case self::DAILY_MISSION_CUSTOM_TYPE: { if ($meta['type'] == self::DAILY_MISSON_TYPE) { array_push($metaList, $meta); } } break; case self::SEASON_WEEKLY_MISSION_CUSTOM_TYPE: { if ($meta['type'] == self::SEASONCARD_MISSON_TYPE && $meta['subtype'] == self::SEASON_WEAKLY_MISSON_SUBTYPE) { array_push($metaList, $meta); } } break; default: { } break; } } } return $metaList; } public static function isOfferRewardMission($meta) { return $meta['type'] == self::OFFER_REWARD_MISSION_CUSTOM_TYPE; } public static function getOfferRewardMissions($excludeMetas) { $metas = array(); foreach (self::getMetaList() as $meta) { if ($meta['type'] == self::OFFER_REWARD_MISSON_TYPE) { if (!array_find($excludeMetas, function($val) use($meta) { return $val['mission_id'] == $meta['id']; })) { array_push($metas, $meta); } } } return $metas; } protected static function getMetaList() { if (!self::$metaList) { self::$metaList = getMetaTable('task@task.php'); } return self::$metaList; } protected static $metaList; }