private new void RemoveTarget(EnemyScript target) { if (TargetsInRange.Contains(target)) { TargetsInRange.Remove(target); if (target == _target) { AquireNewTarget(); } } }
private void OnTriggerEnter(Collider other) { var enemy = other.GetComponent <EnemyScript>(); if (enemy != null && !Tower.IgnoredEnemies.Contains(enemy.Type)) { TargetsInRange.Add(enemy); enemy.SetSpeed(ReduceSpeed(enemy.Speed, _slowAmount)); } }
private void OnTriggerEnter(Collider other) { var enemy = other.GetComponent <EnemyScript>(); if (enemy != null && !Tower.IgnoredEnemies.Contains(enemy.Type)) { TargetsInRange.Add(enemy); if (_target == null) { _target = enemy; } } }
protected override bool OnTargetStay() { if (TargetsInRange.Contains(_target)) { RotateToTarget(); if (_angleWithTarget <= _minimalShootAngle) { _lineRenderer.SetPosition(1, _target.transform.position); _lineRenderer.enabled = true; TickDamage(); } return(true); } return(false); }