The TextureHolder class
Thousands of zombies represent a new challenge. Not only would loading, storing, and manipulating thousands of copies of three different zombie textures take up a lot of memory, but also a lot of processing power. We will create a new type of class that overcomes this problem and allows us to store just one of each texture.
We will also code the class in such a way that there can only ever be one instance of it. This type of class is called a singleton.
Tip
A singleton is a design pattern. A design pattern is a way to structure our code that is proven to work.
Furthermore, we will also code the class so that it can be used anywhere in our game code directly through the class name, without access to an instance.
Coding the TextureHolder header file
Let's make a new header file. Right-click Header Files in the Solution Explorer and select Add | New Item.... In the Add New Item window, highlight (by left-clicking) Header File (.h), and then...