You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
502 B
22 lines
502 B
import Foundation
|
|
import Connect4Core
|
|
import Connect4Players
|
|
|
|
class PlayerVM: ObservableObject {
|
|
private let inner: Player
|
|
|
|
var name: String { inner.name }
|
|
var type: PlayerType
|
|
var id: Owner { inner.id }
|
|
|
|
init(inner: Player) {
|
|
self.inner = inner
|
|
self.type = switch(inner) {
|
|
case is RandomPlayer: .AIRandom
|
|
case is FinnishHimPlayer: .AIFinnishHim
|
|
case is SimpleNegaMaxPlayer: .AISimpleNegaMax
|
|
default: .Human
|
|
}
|
|
}
|
|
}
|