void OnTurtleListVsSolidCollisionCollisionOccurredTunnel(Entities.Turtle first, FlatRedBall.TileCollisions.TileShapeCollection second) { if (this.TurtleListVsSolidCollisionCollisionOccurred != null) { TurtleListVsSolidCollisionCollisionOccurred(first, second); } }
void OnTurtleListVsSolidCollisionCollisionOccurred(Entities.Turtle 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 OnMarioInstanceAxisAlignedRectangleInstanceVsTurtleListAxisAlignedRectangleInstanceCollisionOccurred(Super_Marios_Bros.Entities.Mario first, Entities.Turtle second) { Console.WriteLine("Collsion occured"); bool wasPushedDown = first.AxisAlignedRectangleInstance.LastMoveCollisionReposition.Y > 0; if (wasPushedDown) { Console.WriteLine("was pushed down true"); bool hasDestroyedBlock = false; for (int i = 0; i < TurtleList.Count; i++) { if (TurtleList[i].AxisAlignedRectangleInstance.CollideAgainst(first.CollisionThing)) { Console.WriteLine("Collided"); MarioInstance.Velocity.Y = 160; TurtleList[i].GotHit = true; hasDestroyedBlock = true; break; } } if (!hasDestroyedBlock) { MarioInstance.Velocity.Y = 160; second.GotHit = true; } } 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 OnMarioInstanceAxisAlignedRectangleInstanceVsTurtleListAxisAlignedRectangleInstanceCollisionOccurredTunnel(Super_Marios_Bros.Entities.Mario first, Entities.Turtle second) { if (this.MarioInstanceAxisAlignedRectangleInstanceVsTurtleListAxisAlignedRectangleInstanceCollisionOccurred != null) { MarioInstanceAxisAlignedRectangleInstanceVsTurtleListAxisAlignedRectangleInstanceCollisionOccurred(first, second); } }