/** * Статический метод, который задает параметры игры * @return array Вернет массив содержащий данные игры */ public static function loadGame() { //обнуляем клики для формирования правильного dataBox $_SESSION['clicksBox'] = []; $claimAmountBefore = !empty($_SESSION['claimAmount']) ? $_SESSION['claimAmount'] : 0; $bonusMinutesBefore = !empty($_SESSION['bonusMinutes']) ? $_SESSION['bonusMinutes'] : 0; $boxes = Games::getBox(); $dataBox = Games::getDataBox('bag-opened', 'bag'); $dataGame = ['boxes' => $boxes, 'dataBox' => $dataBox, 'clicksBox' => [], 'claimAmountBefore' => $claimAmountBefore, 'bonusMinutesBefore' => $bonusMinutesBefore, 'claimAmount' => $claimAmountBefore, 'bonusMinutes' => $bonusMinutesBefore, 'numChance' => Config::NUM_CHANCE]; return $dataGame; }
/** * Обрабатывает и устанавливает значения игр */ public function actionGames($val) { if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); } //проверяем есть ли еще шансы и не кликали ли на один сундук повторно if ($_SESSION['numChance'] > 0 && !in_array($val, $_SESSION['clicksBox'])) { array_push($_SESSION['clicksBox'], $val); $_SESSION['numChance']--; $_SESSION['dataBox'] = Games::getDataBox('bag-opened', 'bag'); } if (empty($_SESSION['numChance'])) { //получаем массив открытых данных бокса и указываем класс открытых боксов $_SESSION['dataBox'] = Games::showDataBox('bag-opened'); //устанавливаем время до следующей игры и записываем это время в бд и в сессию $time = time() + Config::PAUSE_GAME * 60; Games::setPauseGame($time); $_SESSION['pauseGame'] = $time; } header('Location: ' . Config::ADDRESS); }