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); }
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(); }