mwhicks-dev / splat-alpha

2D platforming game engine based in C++ and built on top of the SFML multimedia suite.
0 stars 0 forks source link

Create CollisionHandler and UpdateHandler interfaces #19

Closed mwhicks-dev closed 6 months ago

mwhicks-dev commented 6 months ago

In accordance with the Single Responsibility Principle, Interface Segregation Principle, and Dependency Inversion Principle, we will implement SPlat::Model::CollisionHandler and SPlat::Model::UpdateHandler interfaces that allow a plugin-style implementation of these two routines. This will allow for specific SPlat::Model::Asset concrete types to have specific strategies, with some defaults. (For instance, the default UpdateHandler implementation will handle velocity-based movement and gravity, and the default collision handler will use our lazy collision strategy.)