I finally got the Boss pretty well implemented. I had been distracted for a few days and had become mired, and weeded out a whole slew of issues today. A great feeling breaking out and making progress today. Found I had been developing BossMissileFire method in both BossInheritedBaseEnemy and BossMissile scripts. Moved to doing it only in BossInheritedBaseEnemy. The BossMissile was not getting player assigned in the inspector when instantiating from a prefab — the player was a scene object, and apparently cant assign scene objects to a prefab in the project (maybe could do if I had a prefab — but I didn't have a player prefab ) So I just needed to search for it in the script with Find as usual. Had some accidents creating new variables already created in the Base abstract class causing confusion. Again ran into issues using additional dots after a find — causing errors that don’t catch with a null check. For example _bossPosition = GameObject.Find(“Boss(Clone)”).transform; adding the .transform can fail without being able to catch with the null check because it fails before the null check can occur. Other dumb excursions included checking boss collisions rather than the boss missiles for the attack.
I still have not tested the Boss in game action at the end, it was too hard to get more than a couple levels, and rather than just make the boss come sooner, I decided to fix some other nagging issues to make the game play better and take care of the most obvious bugs. The player was not exploding or making sound when they died, saw I had never set it up. I am working on fixing the lives system which I had initially misinterpreted to show the health. So now you only have one life and the lives bar shows the health as well as the ship damage indicators. A number of other thing I’ll be polishing up till I feel it’s ready to move on.