The Singleton pattern achieves its ability to be accessible anywhere easily by having a special function that we use to get the Singleton
object. When this function is called, we will check whether that object has been created yet. If it has, then we will simple return a reference to the object. If not, we will create it, and then return a reference to the newly created object.
Now, in addition to having this way to access it, we also want to block off our user from being able to create them, so we will need to define our class constructors to be private.
Now that we have an understanding of some implementations of the Singleton, we have one other version, which is what we actually used within the Mach5 engine.
In Mach5, the only Singletons that are included are aspects of the engine code. The engine code is designed to work with any game, meaning there is nothing gameplay-specific about it, which means that it doesn't need to have instances since...