New answers tagged design-patterns
The pattern you are looking for is called Inheritance. Stop using Singletons. Create a base class with default properties. Then create derived classes off of your base class, to create your separate entities. https://en.wikipedia.org/wiki/Inheritance_%28object-oriented_programming%29 Post code samples if you want more help.
Broadly speaking there are three approaches to rewinding game state (with various flavours in between): reversing/undoing actions, replaying actions from an earlier, fixed state, or storing all states and just picking the right one on demand. The first is more flexible but in the worst case you need to double your work, creating reverse versions of all your ...
Top 50 recent answers are included