Just a side note for those who are wondering, in the UI files, a button assigned to load a specified map will have its widget reference a static script. Once a level is selected, it then goes to the difficulty selection menu. The difficulty buttons, when selected, each reference a static script as well that then loads everything properly.
For example, if I wanted to load the first Lumoria level, I would have that button's widget set to run the "lvl_lumoria_a" static script. This script, when run, sets the "level" global value to 22. The widget will also be set up to go to the screen for difficulty selection.
Each button, easy through legendary, corresponds to a related static script. If I decide to play Lumoria on Heroic, I would select that button. That button is set up to run the static script "diff_hard". Within that script, it sets the difficulty to hard, waits a few frames, and then runs the "bangbangtime" script. This is where the magic of the Universal UI happens. Based on the level that was selected a few steps ago, the value of the global that was set now tells the game to load its associated level.
Based on this, you can add new levels to the UI as needed, just by creating a new static script for that level and using an unused number for the global. For example, if i wanted to make a button for a level called "boogers", I would add "(script static void lvl_boogers (set level 97))" to the bottom of the script document. Then, I would add "(if (= level 97) (map_name boogers))" to the bangbangtime script, and then create the required widget files in the tags folder.
Hopefully this helps clear up any confusion!
