if (c .tag("PlayerBullet"))
{
}
else
{
Destroy(c.gameObject);
spaceship.Explosion();
Destroy(gameObject);
// Debug.Log(c.tag);
}

確かに何もしない時の処理なんだけど、コード的には
if (!c .tag("PlayerBullet"))
{
Destroy(c.gameObject);
spaceship.Explosion();
Destroy(gameObject);
// Debug.Log(c.tag);
}
にした方がすっきり感も
「!」で否定になるので、PlayerBulletじゃなかったら処理するよとなります。
まぁ好みかなぁ…