public static ChangeMatchMode Create(TuckMatchState matchState, GameMatchMode newMode) { ChangeMatchMode command = new ChangeMatchMode(); command.matchState = matchState; command.newMatchMode = newMode; return(command); }
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); }
public void Start(TuckMatchState state, Action onViewsLoaded) { _matchState = state; var assetList = new List <AssetRequest>() { new AssetRequest("GUI/GamePlay/BoardView", Singleton.instance.sceneRoot), new AssetRequest("GUI/GamePlay/PlayerHandView"), new AssetRequest("GUI/GamePlay/GameHudView") }; viewFactory.CreateAsyncFromList(assetList, (uiMap) => { foreach (var keyValue in uiMap) { switch (keyValue.Key) { case "GUI/GamePlay/BoardView": _boardView = keyValue.Value as BoardView; _boardView.board = _matchState.board; _boardView.AddListener(GameEventType.PEG_TAP, onPegTapped); _boardView.AddListener(GameEventType.PIECE_TAP, onPieceTapped); break; case "GUI/GamePlay/PlayerHandView": _playerHandView = keyValue.Value as PlayerHandView; _playerHandView.AddListener(GameEventType.TRADE_CARD, onTradeCardDrop); _playerHandView.AddListener(GameEventType.PLAY_CARD, onPlayCardDrop); _setupPlayerHand(activePlayer.index); break; case "GUI/GamePlay/GameHudView": _gameHudView = keyValue.Value as GameHudView; _gameHudView.AddListener(GameEventType.UNDO, onForwardEventAndRefreshHand); _gameHudView.AddListener(GameEventType.REDO, onForwardEventAndRefreshHand); _gameHudView.AddListener(GameEventType.FINISH_TURN, onForwardEventAndRefreshHand); break; } } if (onViewsLoaded != null) { onViewsLoaded(); } }); }
public static TuckMatchCore Create( List <PlayerState> playerList, CardDeck cardDeck) { TuckMatchCore core = new TuckMatchCore(); // Also no commands for starting player hands core.matchState = TuckMatchState.Create(playerList, cardDeck); //var board = core.matchState.board; //var murderer = board.GetPieceGroupList()[0].GetPiece(1); //board.SetPiecePosition(murderer, BoardPosition.Create(PositionType.MAIN_TRACK, 12)); //var victim = board.GetPieceGroupList()[0].GetPiece(0); //board.SetPiecePosition(victim, BoardPosition.Create(PositionType.MAIN_TRACK, 18)); //var pieceMovement = new PieceMovementData(); //pieceMovement.type = MoveType.FORWARDS; //pieceMovement.value = 6; //var pathList = new List<MovePath>(); //core.matchState.validator.GetValidPaths(murderer, pieceMovement, ref pathList); //var pathData = new MoveRequest.PiecePathData(); //pathData.pieceIndex = 1; //pathData.path = pathList[0]; //var pieceMoveList = new List<MoveRequest.PiecePathData>(); //pieceMoveList.Add(pathData); //MoveRequest request = MoveRequest.Create(0, 0, pieceMoveList); //core.ApplyMoveCommand(request); return(core); }