void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "Enemy") { Destroy(); other.GetComponent <Enemy>().Kill(); } if (other.gameObject.tag == "Boss") { Destroy(); } if (other.gameObject.tag == "PowerUp") { switch (other.gameObject.GetComponent <PowerUp>().GetPowerUpType()) { case PowerUp.POWERUP_TYPE.FAST: currPowerUp = PowerUp.POWERUP_TYPE.FAST; timeSincePowerUpActivated = 0.0f; break; case PowerUp.POWERUP_TYPE.TRIPPLE: currPowerUp = PowerUp.POWERUP_TYPE.TRIPPLE; timeSincePowerUpActivated = 0.0f; break; case PowerUp.POWERUP_TYPE.BOMB: GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject e in enemies) { e.GetComponent <Enemy>().Kill(); } currPowerUp = PowerUp.POWERUP_TYPE.NONE; break; case PowerUp.POWERUP_TYPE.DAMAGE_ALL: currPowerUp = PowerUp.POWERUP_TYPE.DAMAGE_ALL; timeSincePowerUpActivated = 0.0f; break; default: currPowerUp = PowerUp.POWERUP_TYPE.NONE; break; } audioSource.PlayOneShot(powerUpSound); other.GetComponent <PowerUp>().Kill(); } }
void HandlePowerUps() { if (currPowerUp != PowerUp.POWERUP_TYPE.NONE) { timeSincePowerUpActivated += Time.deltaTime; if (timeSincePowerUpActivated >= timePowerUpsLast) { currPowerUp = PowerUp.POWERUP_TYPE.NONE; } } if (currPowerUp == PowerUp.POWERUP_TYPE.FAST) { currTimeBetweenMissileFire = timeBetweenMissileFire / 2; } else { currTimeBetweenMissileFire = timeBetweenMissileFire; } }