Ejemplo n.º 1
0
 private void HandleHit()
 {
     timesHit++;
     if (timesHit >= maxHits)
     {
         gameKeeper.ChangeScore(10);
         GeneratePowerUp();
         AudioSource.PlayClipAtPoint(audioClip1, Camera.main.transform.position);
         Destroy(gameObject);
     }
     else
     {
         gameKeeper.ChangeScore(5);
         spriteRenderer.sprite = (Sprite)sprites[timesHit];
     }
 }
Ejemplo n.º 2
0
    IEnumerator LevelCleared()
    {
        gameKeeper.ChangeScore(500);
        yield return(new WaitForSeconds(1));

        levelLoader.NextLevel();

        yield return(null);
    }
Ejemplo n.º 3
0
    IEnumerator OnTriggerEnter2D(Collider2D collider)
    {
        object[] currentBalls = GameObject.FindObjectsOfType <Ball>();

        if (collider.gameObject.name == "Paddle")
        {
            switch (gameObject.GetComponent <SpriteRenderer>().sprite.name)
            {
            case "01-Life":
                gameKeeper.GainLife();
                break;

            case "02-50-points":
                gameKeeper.ChangeScore(50);
                break;

            case "03-100-points":
                gameKeeper.ChangeScore(100);
                break;

            case "04-250-points":
                gameKeeper.ChangeScore(250);
                break;

            case "05-500-points":
                gameKeeper.ChangeScore(500);
                break;

            case "06-Fast":
                foreach (Ball ball in currentBalls)
                {
                    StartCoroutine(ball.ChangeBallSpeed(1.5f));
                }
                break;

            case "07-Slow":
                foreach (Ball ball in currentBalls)
                {
                    StartCoroutine(ball.ChangeBallSpeed(0.5f));
                }
                break;

            case "08-Large":
                StartCoroutine(paddle.ChangePaddleSize(1));
                break;

            case "09-Small":
                StartCoroutine(paddle.ChangePaddleSize(-1));
                break;

            case "10-Split":
                foreach (Ball ball in currentBalls)
                {
                    StartCoroutine(ball.SplitBall());
                }
                break;

            case "11-Fire":
                break;

            default:
                Debug.Log("Default case");
                break;
            }

            gameObject.GetComponent <SpriteRenderer>().enabled = false;
            yield return(new WaitForSeconds(11));

            Destroy(gameObject);
        }
    }