// 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(); } } }
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); } }