/** * @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); }
/** * @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; }