Hi, I've been working on a learning project for a little bit, and I've come to a problem.
Before I explain, let me kind of draw out how my mini-game is supposed to work to maybe help understand a little bit more.
I am using an altered version of the GameStateManagement from the Tutorials as a base for the project(besides a few differences like how the input class is set up and some other minor things, it pretty much works the same way).
The point of the game is you have a little 2D character on a 2D field (overhead view), and beat up little turnips who are out to get you. The way I have it set up is there is a Map class which derives from GameScreen. Because the controls, HUD, etc are all the same on each level, I use that for all of the stuff that gets done for each level. Each individual level derives from the Map class. That is the one that holds stuff like which enemies are on the map, and the scenery that gets placed.
The part where I am stuck though is putting things onto the map. I wanted to make a MapObject class and have everything that gets drawn derive from that (Monsters, Scenery, the Player, Powerups, etc). That way, I could put it all into one list and draw/update them all at the same time. The only problem is, I don't know where the best place would be to Load/Store the texture for the monsters. Since there might be more than one of each monster, if I made each instance of "Monster" load the texture, would there be memory set aside for each one's texture? Should I load all the monster textures in the level's LoadContent function and just have a variable that references which texture it should be?
I'm still pretty new to programming (around a year of experience) so if I might be looking at this the wrong way, any advice would be good to have.