the audio system uses unity’s mixer to mix the audio levels of the background music and sound effects as well cycle through all the sound track in the music folder. the system will not pick the same track twice per cycle.
this method gets all the audio files from a path and then adds the name of each file without their extension to a list.

the on awake method load all music files and sound effects from their directories and generate audio clips from them and populate the list. sound effects are a little different as they are stored in a dictionary they are referred to by name when used.

the randomizer method picks a number between zero and the max count of the music list, in the update method if the music source is empty assign a random track from the list and play it.
If there is already a track and it has finished playing pick another random track. when the new selection is the same as the current skip to next track in the list. there is a check to make sure its not out of bounds. with this system its possible to keep adding music into the music folder the without having to recompile to game every time
the playSFX method is for playing sound effects, it takes in a source and the name of the sound effect file to get the SFX stored in the dictionary.
