void OnMarioInstanceVsGumbaListAxisAlignedRectangleInstanceCollisionOccurred(Super_Marios_Bros.Entities.Mario first, Entities.Gumba second)
        {
            Console.WriteLine("Collsion occured");
            bool wasPushedDown     = first.AxisAlignedRectangleInstance.LastMoveCollisionReposition.Y > 0;
            bool hasDestroyedBlock = false;

            if (wasPushedDown)
            {
                for (int i = 0; i < GumbaList.Count; i++)
                {
                    if (GumbaList[i].AxisAlignedRectangleInstance.CollideAgainst(first.DieThing))
                    {
                        Console.WriteLine("Collided");
                        MarioInstance.Velocity.Y = 160;
                        CombinedShapeCollection.RemoveRectangle(A_BrickList[i].AxisAlignedRectangleInstance);
                        GumbaList[i].Deadgumba();
                        PassonClass.Score += 100;
                        hasDestroyedBlock  = true;
                        break;
                    }
                }
                if (!hasDestroyedBlock)
                {
                    // New code:
                    Console.WriteLine("The other way");
                    MarioInstance.Velocity.Y = 160;
                    second.Deadgumba();
                    PassonClass.Score += 100;
                }
            }
            else if (MarioInstance.AxisAlignedRectangleInstance.CollideAgainst(second.RightMarioDead) || MarioInstance.AxisAlignedRectangleInstance.CollideAgainst(second.LeftMarioDead))
            {
                second.Destroy();
                if (PassonClass.mariobig == true)
                {
                    PassonClass.mariobig = false;
                }
                else if (PassonClass.mariobig == false)
                {
                    HandleMarioDead();
                }
            }
        }
 void OnGumbaListAxisAlignedRectangleInstanceVsSolidCollisionCollisionOccurredTunnel(Entities.Gumba first, FlatRedBall.TileCollisions.TileShapeCollection second)
 {
     if (this.GumbaListAxisAlignedRectangleInstanceVsSolidCollisionCollisionOccurred != null)
     {
         GumbaListAxisAlignedRectangleInstanceVsSolidCollisionCollisionOccurred(first, second);
     }
 }
        void OnGumbaListAxisAlignedRectangleInstanceVsSolidCollisionCollisionOccurred(Entities.Gumba first, FlatRedBall.TileCollisions.TileShapeCollection second)
        {
            var collisionReposition = first.AxisAlignedRectangleInstance.LastMoveCollisionReposition;
            var hasCollidedWithWall = collisionReposition.X != 0;

            if (hasCollidedWithWall)
            {
                var isWallToTheRight = collisionReposition.X < 0;

                if (isWallToTheRight && first.horin == 1)
                {
                    first.horin = -1;                     //LEFT
                }
                else if (!isWallToTheRight && first.horin == -1)
                {
                    first.horin = 1;                     //RIGHT
                }
            }
        }
 void OnMarioInstanceVsGumbaListAxisAlignedRectangleInstanceCollisionOccurredTunnel(Super_Marios_Bros.Entities.Mario first, Entities.Gumba second)
 {
     if (this.MarioInstanceVsGumbaListAxisAlignedRectangleInstanceCollisionOccurred != null)
     {
         MarioInstanceVsGumbaListAxisAlignedRectangleInstanceCollisionOccurred(first, second);
     }
 }