public static TuckMatchState Create( List <PlayerState> playerList, CardDeck cardDeck) { TuckMatchState state = new TuckMatchState(); state.cardDeck = cardDeck; state.playerGroup = PlayerGroup.Create(playerList, cardDeck); state.board = Board.Create(playerList); state.teams = TeamCollection.Create(playerList); state.escrow = TradeEscrow.Create(state.teams, state.playerGroup); state.validator = MoveValidator.Create(state.board); state.gameMatchMode = GameMatchMode.INITIAL; return(state); }