Exemplo n.º 1
0
 public function renderGameData(Player $player, $version, $possibleMoves)
 {
     $game = $player->getGame();
     $gameId = $game->getId();
     $color = $player->getColor();
     $opponent = $player->getOpponent();
     $playerFullId = $player->getFullId();
     $generator = $this->getUrlGenerator();
     $translator = $this->getTranslator();
     $data = array('game' => array('id' => $game->getId(), 'started' => $game->getIsStarted(), 'finished' => $game->getIsFinishedOrAborted(), 'clock' => $game->hasClock(), 'player' => $game->getTurnPlayer()->getColor(), 'turns' => $game->getTurns(), 'last_move' => $game->getLastMove()), 'player' => array('id' => $player->getId(), 'color' => $player->getColor(), 'version' => $version, 'spectator' => false), 'opponent' => array('color' => $opponent->getColor(), 'ai' => $opponent->getIsAi()), 'url' => array('table' => $generator->generate('lichess_table', array('id' => $gameId, 'color' => $color, 'playerFullId' => $playerFullId)), 'players' => $generator->generate('lichess_game_players', array('id' => $gameId))), 'possible_moves' => $possibleMoves, 'animation_delay' => round($this->container->getParameter('lichess.animation.delay') * 1000 * self::animationDelayFactor($game->estimateTotalTime())), 'debug' => $this->container->getParameter('kernel.debug'));
     return sprintf('<script type="text/javascript">var lichess_data = %s;</script>', json_encode($data));
 }