// when an object enters this trigger void OnTriggerEnter2D(Collider2D other) { var player = transform.parent; HealthAndLives health = player.GetComponent <HealthAndLives>(); if (other.gameObject.CompareTag("enemy")) { // deduct health based on front (ram) or rear (rammed) collision if (gameObject.CompareTag("front")) { health.OnBumpTrigger(damageMinor); // do damage to enemy: if (other.gameObject.GetComponent <AICar> ().Bump()) { health.incrementKills(); } } else { health.OnBumpTrigger(damageMajor); } } // collision with edge of track: if (other.gameObject.CompareTag("track")) { health.OnBumpTrigger(damageMajor); } }
// when missile hits something... void OnTriggerEnter2D(Collider2D other) { var player = GameObject.Find("PlayerCar"); HealthAndLives health = player.GetComponent <HealthAndLives> (); if (other.gameObject.CompareTag("enemy")) { other.gameObject.GetComponent <AICar> ().Kill(); if (GetComponent <FireBullet> ().playerShot) { // got him! health.incrementKills(); } Destroy(gameObject); } else if (other.gameObject.CompareTag("Player")) { // got me! health.Die(); Destroy(gameObject); } else if (other.gameObject.CompareTag("track")) { // missed... Destroy(gameObject); } }
void Start() { // set Player vars var car = GameObject.Find("PlayerCar"); playerCar = car.GetComponent <HumanCar>(); carHealth = car.GetComponent <HealthAndLives>(); carLaps = car.GetComponent <CarLapCounter>(); // set powerup timing vars _nextHealthPU = powerupTiming / 2; _nextMissilePU = powerupTiming; // freeze game until started from start menu Time.timeScale = 0; GetComponent <StartMenu> ().Open(); }