Beispiel #1
0
 protected virtual void OnTriggerEnter2D(Collider2D collision)
 {
     if (_isUsedByEnemy)
     {
         if (collision.gameObject.CompareTag("Player"))
         {
             collision.gameObject.GetComponent <PlayerController>().DealDamage(_defaultDamage * _damageMultiplier, Vector2.right * (PlayerController.PlayerInstance.transform.position - transform.position));
         }
         if (!collision.gameObject.CompareTag("Enemy") && !collision.gameObject.CompareTag("Foreground"))
         {
             Destroy(gameObject);
         }
     }
     else
     {
         if (collision.gameObject.CompareTag("Enemy"))
         {
             if (collision.gameObject.GetComponent <EnemyController>().DealDamage(_defaultDamage * _damageMultiplier))
             {
                 EnemiesDestroyed.Invoke(1);
             }
         }
         if (!collision.gameObject.CompareTag("Player") && !collision.gameObject.CompareTag("Foreground"))
         {
             Destroy(gameObject);
         }
     }
 }
Beispiel #2
0
 public void OnEnemyDied(Enemy enemy)
 {
     _enemies.Remove(enemy);
     if (_enemies.Count == 0)
     {
         EnemiesDestroyed?.Invoke();
     }
 }
 // Start is called before the first frame update
 private void Start()
 {
     target           = GetComponentInChildren <UIFollowTarget>();
     enemyMG          = GetComponentInChildren <AircraftMachinegun>();
     player           = JetStatus.Get();
     enemiesDestroyed = EnemiesDestroyed.Get();
     player.enemiesLeft++;
     explosionParticles = explosion.GetComponent <ParticleSystem>();
 }
Beispiel #4
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("Enemy"))
     {
         PlayExplodeSound();
         EnemiesDestroyed?.Invoke(DealMineDamage(true) + DealMineDamage(false));
         CreateSmoke();
         Destroy(gameObject);
     }
 }
Beispiel #5
0
 // Start is called before the first frame update
 private void Start()
 {
     oldPanelColor             = new Vector4(0, 0, 0, 0.7f);
     playerStatus              = JetStatus.Get();
     EnemiesDestroyedSingleton = EnemiesDestroyed.Get();
     playerAircraft            = player.GetComponent <AircraftMovement>();
     playerCamera              = player.GetComponent <AircraftCamera>();
     UIPanel = panel.GetComponent <Image>();
     enemiesDestroyedText.text = "";
     finishText.text           = "";
     UIPanel.color             = new Vector4(0, 0, 0, 0);
     Cursor.visible            = false;
     levelStatus = GetComponent <LevelStatus>();
 }
Beispiel #6
0
 protected override void OnTriggerEnter2D(Collider2D collision)
 {
     if (!collision.gameObject.CompareTag("Untagged") &&
         !collision.gameObject.CompareTag("Foreground") &&
         !collision.gameObject.CompareTag("BossFloor") &&
         (_isUsedByEnemy ? !collision.gameObject.CompareTag("Enemy") : true))
     {
         PlayExplodeSound();
         EnemiesDestroyed?.Invoke(DealMineDamage(true) + DealMineDamage(false));
         CreateSmoke();
         _speed = 0;
         _animator.SetTrigger("ImpactTrigger");
         _collider.enabled = false;
         Destroy(gameObject, 0.5f);
     }
 }
Beispiel #7
0
 public override int GetHashCode()
 {
     return(PlayerId.GetHashCode() + Score.GetHashCode() + GameTime.GetHashCode() + EnemiesDestroyed.GetHashCode() + DatePlayed.GetHashCode());
 }