The Collision Manager needs a new "Collidable" class. This collidable class replaces the current implementation of Physical Entity.
This Collidable class needs to couple strongly with the Collision Manager. To handle collisions and game object, say bullet, will own a Collidable object, and it will call "getAllCollisions()" to get collisions for that Collidable.
The current implementation of Physical Entity should lose it's width and height, but keep everything else.
The collidable class has a shape class that the collision manager uses to find collisions for the object.
The Collision Manager needs a new "Collidable" class. This collidable class replaces the current implementation of Physical Entity.
This Collidable class needs to couple strongly with the Collision Manager. To handle collisions and game object, say bullet, will own a Collidable object, and it will call "getAllCollisions()" to get collisions for that Collidable.
The current implementation of Physical Entity should lose it's width and height, but keep everything else.
The collidable class has a shape class that the collision manager uses to find collisions for the object.