Implemented almost all of the sounds in the Audio folder into the game, and created placeholder particle effects to be improved later. Also fixed a few bugs with the sound system to get it to work with some of the sounds better.
Sounds Added
Lava - Add the new Lava script to the GameObject that holds the lava mesh. It plays the lava bubbling sound effect at the origin of the lava, and plays a particle effect with a pop at a random position on the mesh.
Terrain and TerrainType - A way to associate surfaces with a certain material. TerrainTypes are ScriptableObjects that hold information about various interactions with the surface, such as the arrow hit sound, player step sound, and arrow hit particles.
Footsteps - The player raycasts downwards to find the Terrain and plays the appropriate footstep sound while they are grounded.
Timer Sounds - A MultiSound that lazily decides the outro clip based on the result of the Gauntlet - will play a fail sound or success sound based on the result of the Gauntlet.
Sticky Arrow - Checks the object it collides with to see if it has a terrain script - if so, will play the appropriate hit sound and particle effect.
Grapple Shot - Plays the shot and hit sounds if appropriate, and will play the snap sound if the shot is canceled early.
Lore Pickup - Plays the paper grab sound
Note: all Terrain-reliant FX (like the footstep, arrow hit) will default to a stone-based TerrainType if no Terrain is available on the appropriate object. This can be changed to a different default in the PlayerMovement script if appropriate for the scene.
Stuff that didn't get implemented
Didn't do door sounds, because those are still getting finished - should be easy though
Didn't do box dragging sounds because, honestly, I would've spent way too much time trying to figure out how to
do that programmatically
We have more arrow sounds than footstep sounds, which is a bottleneck but the stone footsteps can actually be a pretty good placeholder
Bugfixes - Fixed some scene changing related errors with the AudioManager: make sure to call DisposeAll() before changing scenes so it can clear internal state. Maybe creating a custom level loading system to do this automatically would be nice.
Implemented almost all of the sounds in the Audio folder into the game, and created placeholder particle effects to be improved later. Also fixed a few bugs with the sound system to get it to work with some of the sounds better.
Sounds Added
Note: all Terrain-reliant FX (like the footstep, arrow hit) will default to a stone-based TerrainType if no Terrain is available on the appropriate object. This can be changed to a different default in the PlayerMovement script if appropriate for the scene.
Stuff that didn't get implemented
Bugfixes - Fixed some scene changing related errors with the AudioManager: make sure to call DisposeAll() before changing scenes so it can clear internal state. Maybe creating a custom level loading system to do this automatically would be nice.
Closes #170