Background
Realized several fine-tuning in small parts of the wave management process and also in the process of generating and firing of the cannon shot.
Cannon
First let's talk about the process of firing of the cannon shot, there was a common mistake that was outstanding and needed improvements.The cannon always fired his first shot when a target was passed to the Tower, but didn't care to check if the target and the tower were aligned, i.e. If the tower was aiming for the target and then fire the shot.
Now the cannon really makes a prior verification of the angle between the enemy and the Tower, if they are within an acceptable range (for example 45 degrees) then the cannon can fire the shot, otherwise will need to recalibrate the Tower again to then shoot.
Another problem that fix was the maximum distance between the cannon Tower and its target, now there is a limiter for Tower abandon ' surely ' a target, and at the same time set the strength of the Cannonball according to the distance between the tower and the target, i.e. a shot misses more target because it takes into consideration your distance.
Row or Groups ?
One of the things that I had planned for the game was to create ways to deliver the enemies in the scenario, it may be something as lines/queues and merged groups.After some changes in waves, I can now choose and configure the individual wave stating whether it is a wave in line or in groups (and here passing parameters as how many enemies are generated by group and also how many seconds between each group within the same wave).
Reviewing the waves, I also created a routine to put enemies randomly in a position (Center, right or left) thus avoiding everyone necessarily one after the other.