diff --git a/knockoutwhistweb/app/dto/TieInfoDTO.scala b/knockoutwhistweb/app/dto/TieInfoDTO.scala index 0710dab..65f64ce 100644 --- a/knockoutwhistweb/app/dto/TieInfoDTO.scala +++ b/knockoutwhistweb/app/dto/TieInfoDTO.scala @@ -1,12 +1,13 @@ package dto -import dto.subDTO.PlayerDTO +import de.knockoutwhist.cards.Card +import dto.subDTO.{CardDTO, PlayerDTO} import logic.game.GameLobby import model.users.User import scala.util.Try -case class TieInfoDTO(gameId: String, currentPlayer: Option[PlayerDTO], self: Option[PlayerDTO], tiedPlayers: Seq[PlayerDTO], highestAmount: Int) +case class TieInfoDTO(gameId: String, currentPlayer: Option[PlayerDTO], self: Option[PlayerDTO], tiedPlayers: Seq[PlayerDTO], highestAmount: Int, selectedCards: Map[String, CardDTO], winners: Option[Seq[PlayerDTO]]) object TieInfoDTO { @@ -20,7 +21,11 @@ object TieInfoDTO { currentPlayer = lobby.logic.playerTieLogic.currentTiePlayer().map(PlayerDTO.apply), self = selfPlayer.map(PlayerDTO.apply), tiedPlayers = lobby.logic.playerTieLogic.getTiedPlayers.map(PlayerDTO.apply), - highestAmount = lobby.logic.playerTieLogic.highestAllowedNumber() + highestAmount = lobby.logic.playerTieLogic.highestAllowedNumber(), + selectedCards = lobby.logic.playerTieLogic.getSelectedCard.map { + case (player, card) => player.id.toString -> CardDTO(card) + }, + winners = Some(lobby.logic.playerTieLogic.getSelectedCard.filter((_,card) => card == lobby.logic.playerTieLogic.getSelectedCard.values.maxBy(_.cardValue.ordinal)).keySet.toList.map(PlayerDTO.apply)) ) }