Upgrading the towers
Upgrading and selling the towers might be a little bit tricky. For this reason, this section is completely optional and you can feel free to skip it. Furthermore, the code here could be optimized, but it has been left without optimization for the sake of learning. In fact, this way it is easier to understand. Once all the key concepts that have been covered in this section are clear, the reader is invited to improve the code as an exercise.
How it works
Every time the player selects a tower, a menu appears and gives the player the possibility of upgrading or selling the tower. Therefore, the menu that we are going to create in this section will be disabled from the beginning, and it will be enabled when a tower is selected. We will see how a tower is selected in the next chapter, but the key idea is that every time a tower is selected, it has to be communicated to our menu which tower it is. In this way, our menu can correctly upgrade the tower, or destroy it if the player...