So, I have created some Collision Detection classes that all derive from a base class known as CollisionBase.

I have a List<CollisionB ase> in which I will be going through and calling a method known as Intersect. CollisionBase and all of the derived classes have this method defined, with the CollisionBase class having it as virtual and the defined classes having it as override.

This list will contain up to three...