Пример #1
0
    void LevelController_onPowerDown(PowerDowns powerDown)
    {
        switch (powerDown)
        {
        case PowerDowns.ReverseControls:
            break;

        case PowerDowns.HalfPaddleSize:
            break;

        default:
            break;
        }
    }
Пример #2
0
    /// <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++;
            }
        }
    }
Пример #3
0
    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;
        }
    }