protected override void OnPlayerBulletTriggerEnter2D(Collider2D collision) { if (CollisionUtil.IsEnemyBullet(collision)) { var enemyBullet = collision.GetComponent <EnemyBullet>(); if (IsExploding && ShouldEraseBullet) { enemyBullet.DeactivateSelf(); } else { ManagedEnemyBullets.Add(enemyBullet); } } else if (CollisionUtil.IsPlayerBullet(collision)) { var playerBullet = collision.GetComponent <PlayerBullet>(); ManagedPlayerBullets.Add(playerBullet); } else if (CollisionUtil.IsPickup(collision)) { var pickup = collision.GetComponent <Pickup>(); ManagedPickups.Add(pickup); } // Enemy is handled in OnCollideWithEnemy() }