I knew that during vertical slice I wanted to revisit the UI, so this week I decided to touch up the in-game UI. I started by creating a separate widget for boss health so one can be added to the screen for every boss fight. I also touched up the player resource sections. We decided to have a circular progress bar in the center of the screen to represent overheat instead of a normal bar under the health, so I set up this system using a circular gradient material. The circular gradient was slightly wrong, so the bar filled up at a strange rate, but otherwise it worked perfectly with the overheat mechanic.
I also set up weapons as its own entity instead of something that is done through the player. I made a system where the player holds and index for the primary and secondary weapon and then they switch between weapons based on this index by switching variables that are held in a struct. It works perfectly now, and it is very data driven, meaning weapons can be changed very fast and very easily. We can change everything from damage and bullet types fired to the 2D textures that the UI uses, and I am very happy with this system.