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