void OnMarioInstanceVsA_BrickListCollisionOccurred(Super_Marios_Bros.Entities.Mario first, Entities.A_Brick second) { Console.WriteLine("Collsion occured"); bool wasPushedDown = first.AxisAlignedRectangleInstance.LastMoveCollisionReposition.Y < 0; if (wasPushedDown && PassonClass.mariobig) { Console.WriteLine("was pushed down true"); bool hasDestroyedBlock = false; for (int i = 0; i < A_BrickList.Count; i++) { //Console.WriteLine("New Brick"); if (A_BrickList[i].AxisAlignedRectangleInstance.CollideAgainst(first.CollisionThing)) { // New code: Console.WriteLine("Collided"); CombinedShapeCollection.RemoveRectangle(A_BrickList[i].AxisAlignedRectangleInstance); A_BrickList[i].Imdead(); hasDestroyedBlock = true; break; } } if (!hasDestroyedBlock) { // New code: Console.WriteLine("The other way"); CombinedShapeCollection.RemoveRectangle(second.AxisAlignedRectangleInstance); second.Imdead(); } } }
void OnMarioInstanceVsA_BrickListCollisionOccurredTunnel(Super_Marios_Bros.Entities.Mario first, Entities.A_Brick second) { if (this.MarioInstanceVsA_BrickListCollisionOccurred != null) { MarioInstanceVsA_BrickListCollisionOccurred(first, second); } }