void LevelController_onPowerDown(PowerDowns powerDown) { switch (powerDown) { case PowerDowns.ReverseControls: break; case PowerDowns.HalfPaddleSize: break; default: break; } }
/// <summary> /// Creates the actual Block GameObjects defined by the levelStructure. /// </summary> /// <param name="level"></param> void LoadLevel(Level level) { Array powerUps = Enum.GetValues(typeof(PowerUps)); Array powerDowns = Enum.GetValues(typeof(PowerDowns)); for (int y = 0; y < level.height; y++) { for (int x = 0; x < level.width; x++) { int index = y * level.width + x; if (level.levelStructure[index] == 0) { continue; } GameObject block = (GameObject)Instantiate(BlockPrefab, new Vector3(PositionOffset.x + x, PositionOffset.y - y, 0), Quaternion.identity); block.transform.parent = GameObject.Find("Blocks").transform; block.GetComponent <Block>().hp = level.levelStructure[index]; //set powerup if (UnityEngine.Random.Range(0f, 1f) >= 0.8f) //20% chance for a powerup/powerdown { if (UnityEngine.Random.Range(0f, 1f) >= 0.8f) //20% chance for a powerDown { PowerDowns powerDown = (PowerDowns)powerDowns.GetValue(UnityEngine.Random.Range(0, powerDowns.Length)); block.GetComponent <Block>().powerDown = powerDown; } else { PowerUps powerUp = (PowerUps)powerUps.GetValue(UnityEngine.Random.Range(0, powerUps.Length)); block.GetComponent <Block>().powerUp = powerUp; } } else { block.GetComponent <Block>().powerUp = null; block.GetComponent <Block>().powerDown = null; } block.GetComponent <Block>().onBlockHit += LevelController_blockHit; //increase blockcount - used to determine if level is finished numBlocks++; } } }
void PaddleController_onPowerDown(PowerDowns powerDown) { switch (powerDown) { case PowerDowns.ReverseControls: reversedControls = !reversedControls; break; case PowerDowns.HalfPaddleSize: if (paddleSize > -1) { paddleBody.transform.localScale = new Vector3(paddleBody.transform.localScale.x / 2, paddleBody.transform.localScale.y, paddleBody.transform.localScale.z); paddleSize--; } break; default: Debug.LogError("Unknown powerdown type: " + powerDown); break; } }