示例#1
0
        private void GenerateRow(
            BreakoutGameController breakoutGameController,
            RowConfig rowConfig,
            int rowIndex)
        {
            var unitSize   = breakoutGameController.UnitSize;
            var numColumns = rowConfig.numColumns;
            var baseWidth  = (breakoutGameController.PaddedGameBoardWidth / rowConfig.numColumns);

            var brickTopCenterPosition =
                new Vector3(0.0f,
                            -breakoutGameController.PaddedGameBoardHeight * 0.5f * unitSize,
                            0.0f);

            var y      = (rowIndex * unitSize + brickTopCenterPosition.y);
            var startX = -(breakoutGameController.PaddedGameBoardWidth * 0.5f + brickTopCenterPosition.x) * unitSize;

            for (var i = 0; i < numColumns; i++)
            {
                var x           = startX + (i * baseWidth * unitSize) + (baseWidth * 0.5f * unitSize);
                var brickConfig = GetBrickConfigForCoords(rowConfig, i);
                brickConfig.width    = baseWidth;
                brickConfig.unitSize = unitSize;
                var brick = _brickFactory.CreateBrick(brickConfig);
                brick.transform.localPosition = new Vector3(x, 0.0f, -y);
                breakoutGameController.AddBrick(brick);
            }
        }