The code to load a saved game is now ready to roll, as the following slightly boring video demonstrates:
As you can see, the map visitation data, event status, and location get properly reset when a saved game is loaded. I’ll eventually need to persist health and powerups as well, except the systems managing those things are just stubs themselves right now.
I also switched to Json.NET for save file persistence after figuring out that XMLSerializer doesn’t handle interface types at all. That makes it worse than useless, in my humble opinion.
Tomorrow I’m going to attempt to make it all the way through a title screen, where you can start a new game or load an existing one. Don’t count on it being very pretty.