//If bullet hits enemy, or spawner, then they take damage and bullet object is destroyed void OnTriggerEnter2D(Collider2D hitInfo) { //getting hit info EnemyAI enemy = hitInfo.GetComponent <EnemyAI>(); ShotgunEnemyAI Shotgunner = hitInfo.GetComponent <ShotgunEnemyAI>(); EnemySpawner spawner = hitInfo.GetComponent <EnemySpawner>(); EnemyTransport transport = hitInfo.GetComponent <EnemyTransport>(); //checking type of enemy, and then damaging accordingly if (enemy != null) { enemy.TakeDamage(damage); } if (transport != null) { transport.TakeDamage(damage); } if (Shotgunner != null) { Shotgunner.TakeDamage(damage); } if (spawner != null) { spawner.TakeDamage(damage); } //instantiate bullet impact effect Instantiate(impactEffect, transform.position, transform.rotation); //destroying bullet after contact is made with another game object Destroy(gameObject); }
private void Attack() { if (Time.time - _lastAttack > _attackSpeedSeconds) { _lastAttack = Time.time; _animator.Play("Attack"); var actualOffset = _areaOfAttackOffset; actualOffset.x *= transform.localScale.x; _enemies.TakeDamage(transform.position + actualOffset, _damage, _areaOfAttack); } }
public void damage(int damage, int playerNum) { currentHP -= damage; GetComponent <AudioSource>().clip = damageClip; GetComponent <AudioSource>().Play(); if (currentHP <= 0) { if (parentSpawner) { parentSpawner.TakeDamage(1); } string playerName = "Player" + playerNum; GameObject.Find(playerName).GetComponent <ScoreHandler>().AddScore(scoreToGive); Destroy(gameObject); } }
void OnTriggerEnter2D(Collider2D hitInfo) { EnemyAI enemy = hitInfo.GetComponent <EnemyAI>(); ShotgunEnemyAI Shotgunner = hitInfo.GetComponent <ShotgunEnemyAI>(); EnemySpawner spawner = hitInfo.GetComponent <EnemySpawner>(); if (enemy != null) { enemy.TakeDamage(damage); } if (Shotgunner != null) { Shotgunner.TakeDamage(damage); } if (spawner != null) { spawner.TakeDamage(damage); } Instantiate(impactEffect, transform.position, transform.rotation); Destroy(gameObject); }