Whoops, I made a huge, multi-featured change again. Good thing I'm presently working on this project alone. Big commit go brrrrr. Features introduced:
Reworks ECS to use references instead of smart pointers using the strategy from #55
Refactors Renderer and Screen into a proper DrawingManager class that handles SDL functionality. We now no longer support backgrounds. We will fix this with implementing layered drawing in #56.
Breaks dependency between DrawingComponent and PositionComponent.
PositionComponent now uses Rectangle as a data class, and keeps track of the area an object takes up. CollisionComponent does not yet depend on this, but should.
Vastly simplifies Rectangle to use recompute instead of store strategy. Gets rid of ugly validation function.
Modifies smart pointers to references in a few places.
Whoops, I made a huge, multi-featured change again. Good thing I'm presently working on this project alone. Big commit go brrrrr. Features introduced:
recompute instead of store
strategy. Gets rid of ugly validation function.