Posted April 22, 2021 by Braveo
#quality-of-life
This is a quality-of-life improvement I added to the game in order for people to want to get straight to the bosses, for the fun of it!
For newer players, leaving in the middle of a boss saves that current moment and puts you back to the boss when loading back in.
Doors have also been fixed, as they were previously a bit inconsistent when it came to being opened with keys.
Playing a boss might be tough for some people, and instead of forcing them to beat it in the session, it's always good to take breaks.
It was originally a "too lazy to code" situation but after digging and refactoring some of the code, I got it to work, so that's good!
I'm using Unity 2019.3 for this version of Raybound, and added some mask icons next to the levels which represent the bosses.
Each mask is basically a button that creates a GameObject with a component attached, called objStorer, which can store all the data I need to pass into the level the scene is going to load. DontDestroyOnLoad allows the object to move onto the next seen with the data.
Data is all integer, since there isn't really anything else I need to add like complicated tags or anything. In the scene that's going to be loaded, I make an object with a Transporter Scener Event (custom script), which pretty much calls for whatever type of integer data is loaded. That integer is passed onto the Event Array (custom script) to play the corresponding UnityEvent.
The code down here pretty much finds if there's any data holder object. If not, then it plays default int value you can set in the inspector. If there is information (and it's greater than zero but less than event array length), then it invokes the event. After that, the event data holder is destroyed, and the transporter (custom script) transports you to the boss.