Schafkopf-Server/Sources/App/Infos/GameSummary.swift

34 lines
844 B
Swift
Raw Normal View History

2021-12-21 09:53:42 +01:00
import Foundation
2021-12-21 11:16:54 +01:00
struct GameSummary: Codable, Equatable {
2021-12-21 09:53:42 +01:00
let leader: PlayerName
let coPlayers: [PlayerName]
let didWin: Bool
let game: GameId
let leaderPoints: Int
let cost: Int
var text: String = ""
init(table: FinishedTable, language: SupportedLanguage) {
let leader = table.players.first { $0.selectedGame }!
self.coPlayers = table.players
.filter { $0 != leader && $0.leadsGame == leader.leadsGame }
.map { $0.name }
self.leader = leader.name
self.game = table.game.id
self.leaderPoints = table.leadingPoints
self.didWin = table.winners.contains(player: leader.name)
self.cost = table.game.basicCost
// TODO: Calculate cost correctly
2021-12-21 11:16:54 +01:00
self.text = language.gameSummarizer.init(game: self).text
2021-12-21 09:53:42 +01:00
}
}