Guest User

Untitled

a guest
Dec 10th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.61 KB | None | 0 0
  1. private void HandleCollision()
  2.         {
  3.             int Checkdist = 1;
  4.  
  5.             for (int x = Coordinates.X - Checkdist; x < Coordinates.X + Checkdist + 1; x++)
  6.             {
  7.                 for (int y = Coordinates.Y - Checkdist; y < Coordinates.Y + Checkdist + 1; y++)
  8.                 {
  9.                     if (Tilemap.TileArray[x, y] != null)
  10.                     {
  11.             //Collision code starts under here
  12.                         if (CollisionRect.Intersects(Tilemap.TileArray[x, y].TileRect))
  13.                         {
  14.                             if (Velocity.Y > 0) //Down collision resolving
  15.                             {
  16.                                 int CollisionDepth = Math.Abs(CollisionRect.Bottom - (int)Tilemap.TileArray[x, y].Pos.Y);
  17.  
  18.                                 for (int j = 0; j < CollisionDepth; j++)
  19.                                 {
  20.                                     Position.Y--;
  21.                                 }
  22.                                 Velocity.Y = 0;
  23.                             }
  24.  
  25.                             if (Velocity.X > 0) //Right collision resolving
  26.                             {
  27.                                 int CollisionDepth = Math.Abs(CollisionRect.Right - (int)Tilemap.TileArray[x, y].Pos.X);
  28.  
  29.                                 for (int j = 0; j < CollisionDepth; j++)
  30.                                 {
  31.                                     Position.X--;
  32.                                 }
  33.                                 Velocity.X = 0;
  34.                             }
  35.                         }
  36.                     }
  37.                 }
  38.             }
  39.         }
Add Comment
Please, Sign In to add comment