private void OnSimulationCreated(SimulationCreatedSignal simulationCreatedSignal)
        {
            Clear();

            CreateGameArea();

            TotalBrickCount = _dataController.Config.GameConfig.numBricksToSpawn;
            float   length    = GameArea.GetSingleSquareSize(_brickCountInRow, _gapBetweenBricks);
            Vector2 brickSize = new Vector2(length, length);

            Vector2[] brickPositions = GameArea.GetGridPointsFromUpperLeft(TotalBrickCount, _brickCountInRow, brickSize, _gapBetweenBricks);

            List <BrickData> bricks = new List <BrickData>();

            for (int i = 0; i < TotalBrickCount; i++)
            {
                int life = Random.Range(_dataController.Config.GameConfig.minBrickLife, _dataController.Config.GameConfig.maxBrickLife + 1);
                bricks.Add(new BrickData()
                {
                    Life = life, Size = brickSize, Position = brickPositions[i]
                });
            }

            CreateBoard(bricks);
        }
Beispiel #2
0
        private void OnSimulationCreated(SimulationCreatedSignal simulationCreatedSignal)
        {
            if (CurrentBall == null)
            {
                CurrentBall = CreateBall();
            }

            CurrentBall.transform.position = GetSpawnPosition();
            CurrentBall.Rigidbody.SetVelocity(Vector2.zero);
            CurrentBall.gameObject.SetActive(true);

            _launchVelocity = GetVelocity();
        }