public override void Initialize(BroadPhaseEntry entryA, BroadPhaseEntry entryB)
{
mesh = entryA as StaticMesh;
convex = entryB as ConvexCollidable;
if (mesh == null || convex == null)
{
mesh = entryB as StaticMesh;
convex = entryA as ConvexCollidable;
if (mesh == null || convex == null)
throw new Exception("Inappropriate types used to initialize pair.");
}
//Contact normal goes from A to B.
broadPhaseOverlap.entryA = convex;
broadPhaseOverlap.entryB = mesh;
UpdateMaterialProperties(convex.entity != null ? convex.entity.material : null, mesh.material);
base.Initialize(entryA, entryB);
}