_inTimeRangeStr($meta['daily_open_time'], $meta['daily_end_time'])) { ++$matchTimes; } } if (self::configedDailyTimeLimit2($meta)) { if (myself()->_inTimeRangeStr($meta['daily_open_time_2'], $meta['daily_end_time_2'])) { ++$matchTimes; } } if ($matchTimes <= 0) { return false; } } switch ($meta['limit_time']) { case 1: { if ($meta['mapMode'] == self::RANKING_MODE) { $currentSeasonMeta = RankSeason::getCurrentSeason(); if (empty($currentSeasonMeta)) { return false; } } } break; /* case 2: { if ($meta['mapMode'] == self::TREASURE_BOX_MODE) { $currentServerTask = ServerTaskTime::getCurrentTime(); if (empty($currentServerTask)) { return false; } } } break;*/ default: { return true; } break; } return true; } public static function isOpen($meta) { if (!$meta['is_open']) { return false; } $isOpen = true; switch ($meta['mapMode']) { case self::GOLD_MODE: { $isOpen = myself()->_switchIsOpen('goldMode'); } break; case self::BET_MODE: { $isOpen = myself()->_switchIsOpen('bountyMode'); } break; case self::TREASURE_BOX_MODE: { $isOpen = myself()->_switchIsOpen('bigEventMode'); } break; default: { } break; } return $isOpen; } public static function configedDailyTimeLimit1($meta) { return !empty($meta['daily_open_time']) && !empty($meta['daily_end_time']); } public static function configedDailyTimeLimit2($meta) { return !empty($meta['daily_open_time_2']) && !empty($meta['daily_end_time_2']); } public static function getCurrentBoxDropInfo(&$mapModeMeta, &$phase, &$startTime, &$endTime) { self::traverseMeta(function ($meta) use (&$mapModeMeta, &$phase, &$startTime, &$endTime) { if ($meta['mapMode'] == self::TREASURE_BOX_MODE) { if (self::configedDailyTimeLimit1($meta) && myself()->_inTimeRangeStr($meta['daily_open_time'], $meta['daily_end_time'])) { $mapModeMeta = $meta; $phase = 1; $startTime = myself()->_getDaySecondsOffset(strtotime("2024-6-22 ". $meta['daily_open_time'])); $endTime = myself()->_getDaySecondsOffset(strtotime("2024-6-22 ". $meta['daily_end_time'])); return false; } if (self::configedDailyTimeLimit2($meta) && myself()->_inTimeRangeStr($meta['daily_open_time_2'], $meta['daily_end_time_2'])) { $mapModeMeta = $meta; $phase = 2; $startTime = myself()->_getDaySecondsOffset(strtotime("2024-6-22 ". $meta['daily_open_time_2'])); $endTime = myself()->_getDaySecondsOffset(strtotime("2024-6-22 ". $meta['daily_end_time_2'])); return false; } } return true; }); } protected static function getMetaList() { if (!self::$metaList) { self::$metaList = getMetaTable('mapMode@mapMode.php'); } return self::$metaList; } protected static $metaList; }