public void CollectedExtraBallPowerUp(ExtraBallPowerUp powerUp)
 {
     if (powerUp != null)
     {
         pooledExtraBallPowerups.ReturnPooledObject(powerUp);
         //TODO add a ball to current number of balls.
         ExtraBallManager.Instance.AddExtraBall();
     }
 }
    public void CreateLevelBricks(bool deleteOlderItems = false)
    {
        bool createdAllExtraBallPowerupForLine = false;
        int  numberOfPowerUpsCreated           = 0;

        if (deleteOlderItems)
        {
            pooledSquareBricks.ReturnAllPooledObjects();
            pooledTriangleBricks.ReturnAllPooledObjects();
            pooledExtraBallPowerups.ReturnAllPooledObjects();
        }

        int numberOfBricksCreated = 0;

        for (int i = 0; i < SpawnPoints.Length; i++)
        {
            int itemToCreate = Random.Range(0, 4);

            if (itemToCreate == (int)TypeOfItem.SquareBrick)
            {
                //TODO generate square block at the spawn position
                BrickManager bm = pooledSquareBricks.GetPooledObject();
                if (bm != null)
                {
                    bm.transform.position = SpawnPoints[i].position;
                    bm.BrickHealth        = currentLevel;
                    bm.type = TypeOfItem.SquareBrick;
                    bm.gameObject.SetActive(true);

                    numberOfBricksCreated++;
                }
            }
            else if (itemToCreate == (int)TypeOfItem.TriangleBrick)
            {
                //TODO create triangle brick
                BrickManager bm = pooledTriangleBricks.GetPooledObject();
                if (bm != null)
                {
                    bm.transform.position = SpawnPoints[i].position;
                    bm.BrickHealth        = currentLevel;
                    bm.type = TypeOfItem.TriangleBrick;
                    bm.gameObject.SetActive(true);

                    numberOfBricksCreated++;
                }
            }
            else if (itemToCreate == (int)TypeOfItem.ExtraBallPowerUp && !createdAllExtraBallPowerupForLine)
            {
                //TODO Create an extra ball powerUp
                ExtraBallPowerUp ebpu = pooledExtraBallPowerups.GetPooledObject();
                if (ebpu != null)
                {
                    ebpu.transform.position = SpawnPoints[i].position;
                    ebpu.gameObject.SetActive(true);
                }
                numberOfPowerUpsCreated++;
                createdAllExtraBallPowerupForLine = (numberOfPowerUpsCreated >= gameInfo.NumberOfExtraBallsPerRow);
            }

            if (numberOfBricksCreated >= numberOfBricksToStart)
            {
                return;
            }
        }
    }