void PreviewDestinationTile(Piece piece) { // Retreive the anticipated Tile and give it some effect (highlight/glow) // to signify that this would be the destination of this Piece switch (currentTurn) { case PlayerType.Player1: TilePreviewData player1tilePreviewData = player1Track.GetPreviewTile(piece, roll); switch (player1tilePreviewData.status) { case TilePreviewData.PreviewTileStatus.TILE_EXISTS: player1tilePreviewData.tile.Reveal(); break; case TilePreviewData.PreviewTileStatus.SCORING_TILE: print("Reveal " + currentTurn + " \"scoring\" tile"); break; case TilePreviewData.PreviewTileStatus.NO_TILE: print("No tile to reveal."); break; default: break; } break; case PlayerType.Player2: TilePreviewData player2tilePreviewData = player2Track.GetPreviewTile(piece, roll); switch (player2tilePreviewData.status) { case TilePreviewData.PreviewTileStatus.TILE_EXISTS: player2tilePreviewData.tile.Reveal(); break; case TilePreviewData.PreviewTileStatus.SCORING_TILE: print("Reveal " + currentTurn + " \"scoring\" tile"); break; case TilePreviewData.PreviewTileStatus.NO_TILE: print("No tile to reveal."); break; default: break; } break; default: break; } }
public TilePreviewData GetPreviewTile(Piece piece, int step) { TilePreviewData previewData = new TilePreviewData(); int index = IndexOf(pieceManager.GetTile(piece)) + step; // The preview Tile is a Tile on the board if (index < TRACK_SIZE) { previewData.tile = tiles[index]; previewData.status = TilePreviewData.PreviewTileStatus.TILE_EXISTS; } // The preview Tile is the scoring Tile (not an actual Tile object) else if (index == TRACK_SIZE) { previewData.status = TilePreviewData.PreviewTileStatus.SCORING_TILE; } return(previewData); }