private function serializePlayer(Player $player = null)
 {
     return ['name' => $player->getName(), 'money' => $player->getChips()->getAmount()];
 }
 public function toArray()
 {
     return ['seatIndex' => $this->player->getSeat()->getSeatIndex(), 'name' => $this->player->getName()];
 }
 private function assignPlayerToSeat(TableSeat $seat, Player $player)
 {
     if (!$seat->isFree()) {
         throw new \LogicException('Player can only be assigned to an empty or bot seat.');
     }
     $this->logger->info('Assigning player to seat', ['player' => $player->getName(), 'table_id' => $seat->getTable()->getId()]);
     $seat->setPlayer($player);
     $seat->setInPlay(false);
     $seat->resetHand();
     $player->setSeat($seat);
     $table = $seat->getTable();
     $this->broadcastMessageIgnoringPlayer($table, $player, new SocketPlayerJoinedTableMessage($seat));
     if ($table instanceof WebSocketObservableTable) {
         $table->broadcast(new WebSocketPlayerJoinedTableMessage($seat));
         $table->broadcast(new WebSocketSendStateMessage($table));
     }
 }