// Controleerd eerst of die de power up collider in gaat, en triggered dat dat hij collected wordt, en upgrade de
    // wapens. Daarna checked de speler als die in een collider gaat, of het die van de enemies of van hun bullets is.
    // In beide gevalen checked die of god mode aan staat. Zo niet, dan wordt de game over getriggered.
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.GetComponent <PowerupTag>())
        {
            CollectPowerup powerup = collision.gameObject.GetComponent <CollectPowerup>();
            powerup.PowerupCollected();

            UpgradeWeapons();
        }

        else if (collision.gameObject.GetComponent <EnemySmallBulletTag>() ||
                 collision.gameObject.GetComponent <EnemyType1Tag>() ||
                 collision.gameObject.GetComponent <EnemyType2Tag>())
        {
            if (!godMode)
            {
                ActivateGameOver();
            }
        }
    }
Example #2
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.tag == "Powerup")
     {
         CollectPowerup powerupScript = other.gameObject.GetComponent <CollectPowerup>();
         powerupScript.PowerupCollected();
         UpgradeWeapons();
     }
     else if (other.gameObject.tag == "Enemy Ship 1" || other.gameObject.tag == "Enemy Ship 2" || other.gameObject.tag == "Enemy Laser")
     {
         GameController.SharedInstance.ShowGameOver();                   // If the player is hit by an enemy ship or laser it's game over.
         playerRenderer.enabled = false;                                 // We can't destroy the player game object straight away or any code from this point on will not be executed
         playerCollider.enabled = false;                                 // We turn off the players renderer so the player is not longer displayed and turn off the players collider
         playerThrust.Stop();
         Instantiate(explosion, transform.position, transform.rotation); // Then we Instantiate the explosions... one at the centre and some additional around the players location for a bigger bang!
         for (int i = 0; i < 8; i++)
         {
             Vector3 randomOffset = new Vector3(transform.position.x + Random.Range(-0.6f, 0.6f), transform.position.y + Random.Range(-0.6f, 0.6f), 0.0f);
             Instantiate(explosion, randomOffset, transform.rotation);
         }
         Destroy(gameObject, 1.0f);             // The second parameter in Destroy is a delay to make sure we have finished exploding before we remove the player from the scene.
     }
 }
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.tag == "Powerup")
     {
         CollectPowerup powerupScript = other.gameObject.GetComponent <CollectPowerup>();
         powerupScript.PowerupCollected();
         UpgradeWeapons();
     }
     else if (other.gameObject.tag == "Enemy Ship 1" || other.gameObject.tag == "Enemy Ship 2" || other.gameObject.tag == "Enemy Laser")
     {
         GameController.SharedInstance.ShowGameOver();
         playerRenderer.enabled = false;
         playerCollider.enabled = false;
         playerThrust.Stop();
         Instantiate(explosion, transform.position, transform.rotation);
         for (int i = 0; i < 8; i++)
         {
             Vector3 randomOffset = new Vector3(transform.position.x + Random.Range(-0.6f, 0.6f), transform.position.y + Random.Range(-0.6f, 0.6f), 0.0f);
             Instantiate(explosion, randomOffset, transform.rotation);
         }
         Destroy(gameObject, 1.0f);
     }
 }