private void CheckPlatformCollision(Player player, World level) { bool canMoveDown = true; bool canMoveLeft = true; bool canMoveRight = true; bool canMoveUp = true; foreach (Block block in level.AllObstacles) { if (!(block is Door)) { if (canMoveDown == true) { canMoveDown = !(RectangleHelper.CheckTopCollision(player, block)); } if (canMoveRight == true) { canMoveRight = !(RectangleHelper.CheckLeftCollision(player, block)); } if (canMoveLeft == true) { canMoveLeft = !(RectangleHelper.CheckRightCollision(player, block)); } if (canMoveUp) { canMoveUp = !(RectangleHelper.CheckBottomCollision(player, block)); } } } player.CanMoveDown = canMoveDown; player.CanMoveLeft = canMoveLeft; player.CanMoveRight = canMoveRight; player.CanMoveUp = canMoveUp; }