コード例 #1
0
        private void HitTarget()
        {
            Debug.Log("HIT - HIT - HIT - HIT - HIT - HIT");
            GameObject impactVFX = Instantiate(_projectileVFX, transform.position, transform.rotation);

            Destroy(impactVFX, 1f);

            if (_explosionRadius > 0)
            {
                Explode();
            }
            else
            {
                Enemy.Enemy enemy = _target.GetComponent <Enemy.Enemy>();

                if (enemy != null)
                {
                    enemy.TakeDamage(100);
                }
                else
                {
                    Debug.Log("Enemy is null !");
                }
            }

            Destroy(gameObject);
        }
コード例 #2
0
        private void Explode()
        {
            Collider[] hits = Physics.OverlapSphere(transform.position, _explosionRadius);

            foreach (Collider go in hits)
            {
                Enemy.Enemy enemy = go.GetComponent <Enemy.Enemy>();
                if (enemy != null)
                {
                    enemy.TakeDamage(100);
                }
            }
        }
コード例 #3
0
 public override void Tick(Enemy.Enemy enemy)
 {
     GameManager.LogMessage("fire tick");
     enemy.TakeDamage(1);
 }
コード例 #4
0
 public override void OnHit(Enemy.Enemy enemy, GameObject gameObject)
 {
     enemy.TakeDamage(damage);
     Destroy(gameObject);
 }