private void CreateRow(int row) { BoardLogic.GetColumnStartEnd(row, contexts.game.board.isFirstRowShifted, gameConfig.boardSize.x, out var columnStart, out var columnEnd); for (int x = columnStart; x < columnEnd; x += 2) { var bubble = contexts.game.CreateRandomBoardBubble(x, row); bubble.AddStartPosition(new Vector2Int(x, row)); } }
private void MarkTopRowAsConnectedToTop(List <GameEntity> bubblesToCheck) { BoardLogic.GetColumnStartEnd(0, board.isFirstRowShifted, boardSize.x, out var columnStart, out var columnEnd); for (int x = columnStart; x < columnEnd; x += 2) { var bubble = contexts.game.GetBubbleWithPosition(new Vector2Int(x, 0)); if (bubble == null) { continue; } bubble.isConnectedToTop = true; bubblesToCheck.Add(bubble); } }
public void Initialize() { var entity = contexts.game.CreateEntity(); var boardSize = contexts.config.gameConfig.value.boardSize; entity.AddBoard(boardSize, false); contexts.game.board.isFirstRowShifted = false; for (int y = 0; y < boardSize.y; y++) { BoardLogic.GetColumnStartEnd(y, contexts.game.board.isFirstRowShifted, boardSize.x, out var columnStart, out var columnEnd); for (int x = columnStart; x < columnEnd; x += 2) { contexts.game.CreateRandomBoardBubble(x, y); } } }