diff --git a/Assets/Scripts/Turret.cs b/Assets/Scripts/Turret.cs index 16f7518..5490019 100644 --- a/Assets/Scripts/Turret.cs +++ b/Assets/Scripts/Turret.cs @@ -94,6 +94,12 @@ public class Turret : MonoBehaviour _reloadTimer += Time.deltaTime; } + private void OnTriggerEnter(Collider other) + { + if (other.TryGetComponent(out TurretBullet bullet) && bullet.From != this) + Destroy(bullet.gameObject); + } + private void SpawnBullet(Vector3 direction) { if (_reloadTimer < _reloadTime || !DetectEnemy(direction)) diff --git a/Assets/Scripts/TurretBullet.cs b/Assets/Scripts/TurretBullet.cs index 50252ac..e1d365c 100644 --- a/Assets/Scripts/TurretBullet.cs +++ b/Assets/Scripts/TurretBullet.cs @@ -8,6 +8,7 @@ public class TurretBullet : MonoBehaviour private Vector3 _spawnPos; + public Turret From { get; private set; } public float Damage => _damage; public float Distance => _distance; @@ -28,6 +29,7 @@ public class TurretBullet : MonoBehaviour var rot = turret.transform.rotation; rot.SetLookRotation(direction); var bullet = Instantiate(this, spawnPoint, rot, turret.transform); + bullet.From = turret; bullet._damage += turret.Damage; bullet._distance += turret.Distance - Vector3.Distance(spawnPoint, bullet.transform.position);