Here are the elements of the system as I am currently envisioning it:
Collidable Interface
- public boolean isColliding(Collidable);
- public CollisionGeometry getCollisionGeometry();
- public void collideWith(Collidable);
- public int getType();
CollisionPoint Class
- private Point center;
- private float radius;
- public boolean isColliding(CollisionPoint);
CollisionGeometry Class
- private ArrayList
collisionPoints; - public boolean isColliding(CollisionGeometry);
- public CollisionPoint getCourseBounds();