As a coder I understand that when you initialize a class instance, give it a name which is basically a pointer to the instanced data in the memory, and then access it through said reference to interact with it. Once the class reference leaves the scope it’s deleted.
So let’s look at the savegame class. I create a save game object, which is an instance of the savegame class it’s created from. All the data from the class is created in it’s own instance, and then the assigned pointer (the objects reference created) is used to interact with it. The instance doesn’t get deleted until the level is changed as that’s the scope.
How do I destroy the data behind the savegame obj ref while still within the same level (if it’s possible?).