I know singletons are bad, my old game engine used a singleton 'Game' object that handles everything from holding all data to the actual game loop. Now I'm making a new one.
The problem is, to draw something in SFML you use
window.draw(sprite) where window is an
sf::RenderWindow. There are 2 options I see here:
- Make a singleton Game object which every entity in the game retrieves (what I used before)
- Make this the constructor for entities:
Entity(x, y, window, view, ...etc)(this is just ridiculous and annoying)
What would be the proper way to do this while keeping an Entity's constructor to just x and y?
I could try and keep track of everything I make in the main game loop, and just manually draw their sprite in the game loop, but that too seems messy, and I also want absolute full control over an entire draw function for the entity.