Preparing the environment
Before we start playing with Scriptable Objects, we are going to play with the gravity of a custom level an see what happens.
Updatable gravity in levels
Right now, if you want to adjust the gravity of a level you must to make the changes before pressing the Play button in order to see results.
The Level
class has a method called SetGravity
, which is responsible for taking the value of the gravity property and applying it to the Physics 2D settings in Unity. You don't need to take care about how this is implemented. The only thing we must to do is to integrate this in the custom inspector we created for the Level
class, so each time the gravity value changes, the SetGravity
method will take care of the rest.
Let's update the LevelInspector
class to achieve this. At the end of the DrawLevelDataGUI
method, add the following line of code:
_myTarget.SetGravity();
This method checks the value of the gravity and updates this if necessary. Pretty simple!
Playing with gravity
Using...