Exemple #1
0
 /**
  * @param int|Player $player_or_id
  * @return Player
  */
 protected function player($player_or_id)
 {
     if ($player_or_id instanceof Player) {
         return $player_or_id;
     }
     return $this->playerManager->getPlayer($player_or_id);
 }
Exemple #2
0
 /**
  * @inheritDoc
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
         /** @var WizardData $data */
         $data = $event->getData();
         $form = $event->getForm();
         $groupChoices = array();
         $numberOfGroups = $data->getNumberOfGroups();
         for ($group = 0; $group < $numberOfGroups; ++$group) {
             $groupChoices[$group] = 'group ' . ($group + 1);
         }
         foreach ($this->playerManager->getPlayers() as $player) {
             $form->add('player_' . $player->getId(), 'choice', array('property_path' => 'players[' . $player->getId() . ']', 'choices' => $groupChoices, 'empty_value' => 'no group', 'required' => false, 'label' => $player->getName()));
         }
     });
 }
Exemple #3
0
 /**
  * @param PlayerManager $playerManager to resolve player-IDs
  * @return Tournament
  * @throws \Exception
  */
 public function createTournament(PlayerManager $playerManager)
 {
     if ($this->preset == self::PRESET_TEST) {
         $setup = PresetTesting::create($this->getPlayerIdsGrouped());
     } elseif ($this->preset == self::PRESET_SIMPLE) {
         $setup = PresetSimple::create($this->getPlayerIdsGrouped());
         // TODO implement missing presets
         //        } elseif ($this->preset == self::PRESET_FULL) {
         //            $setup = PresetFull::create($this->numberOfGroups);
         //        } elseif ($this->preset == self::PRESET_LEAGUE) {
         //            $setup = PresetLeague::create($this->numberOfGroups);
     } else {
         throw new \Exception('TODO');
     }
     $tournament = new Tournament();
     $tournament->setName($this->name);
     $tournament->setSetup($setup);
     $tournament->setBoards($this->boards);
     $players = array();
     foreach ($this->getPlayerIds() as $playerId) {
         $players[] = $playerManager->getPlayer($playerId);
     }
     $tournament->setPlayers($players);
     return $tournament;
 }