void LookForTargets() { float targetMaxRadius = 20f; Collider2D[] collider2DArray = Physics2D.OverlapCircleAll(transform.position, targetMaxRadius); foreach (Collider2D col in collider2DArray) { Enemy.Enemy enemy = col.GetComponent <Enemy.Enemy>(); if (enemy != null) { //It's a enemy! if (_targetEnemy == null) { _targetEnemy = enemy; } else { if (Vector3.Distance(transform.position, enemy.transform.position) < Vector3.Distance(transform.position, _targetEnemy.transform.position)) { // New enemy is closer! _targetEnemy = enemy; } } } } }
private void NotifyEnemySightLost(Enemy.Enemy enemy) { if (OnEnemySightLost != null) { OnEnemySightLost(enemy); } }
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); }
private void NotifyEnemySeen(Enemy.Enemy enemy) { if (OnEnemySeen != null) { OnEnemySeen(enemy); } }
public static ArrowProjectile Create(Vector3 position, Enemy.Enemy enemy) { Transform pfArrowProjectile = Resources.Load <Transform>("pfArrowProjectile"); Transform arrowTransform = Instantiate(pfArrowProjectile, position, Quaternion.identity); ArrowProjectile arrowProjectile = arrowTransform.GetComponent <ArrowProjectile>(); arrowProjectile.SetTarget(enemy); return(arrowProjectile); }
///////////////////////////////////////////// void OnTriggerEnter(Collider col) { Enemy.Enemy enemy = col.GetComponent <Enemy.Enemy>(); if (enemy != null) { enemy.Hit(mDamage); } Destroy(); }
void OnTriggerEnter2D(Collider2D other) { Enemy.Enemy enemy = other.GetComponent <Enemy.Enemy>(); if (enemy != null) { // Hit an enemy! int damageAmount = 10; enemy.GetComponent <HealthSystem>().Damage(damageAmount); Destroy(gameObject); } }
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); } } }
/// <summary> /// Method that allows to find the closest enemies of the tower from the list /// </summary> /// <param name="enemies">List of enemies present in the game</param> private void GetFirstEnemyInRange(List <Enemy.Enemy> enemies) { _target = null; foreach (Enemy.Enemy enemy in enemies) { if (Vector2.Distance(_center, enemy.Center) < _range) { _target = enemy; break; } } }
public override void CheckCollidersInArray(Collider2D[] colliders, int amount) { detectedColliders.Clear(); if (colliders.Length == 0) { return; } for (int i = 0; i < amount; i++) { IKillable foundCollider = colliders[i].GetComponent <IKillable>(); if (foundCollider != null) { Enemy.Enemy enemy = colliders[i].GetComponent <Enemy.Enemy>(); if (enemy != null && !enemy.IsDead()) { detectedColliders.Add(foundCollider); } } } }
public override void Tick(Enemy.Enemy enemy) { GameManager.LogMessage("fire tick"); enemy.TakeDamage(1); }
public void SetUpTarget(Enemy.Enemy targetEnemy) { this.targetEnemy = targetEnemy; }
public EnemySpawnedEventArgs(Enemy.Enemy enemy) { SpawnedEnemy = enemy; }
private void InitializeComponent() { enemy = transform.root.GetComponentInChildren <Enemy.Enemy>(); }
public override void Tick(Enemy.Enemy enemy) { }
void SetTarget(Enemy.Enemy targetEnemy) { _targetEnemy = targetEnemy; }
public override void OnHit(Enemy.Enemy enemy, GameObject gameObject) { enemy.TakeDamage(damage); Destroy(gameObject); }
public void LooseSightOf(Enemy.Enemy enemy) { enemiesInSight.Remove(enemy); NotifyEnemySightLost(enemy); }
public void See(Enemy.Enemy enemy) { enemiesInSight.Add(enemy); NotifyEnemySeen(enemy); }