diff options
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/map_collision.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
| diff --git a/src/components/map_collision.cpp b/src/components/map_collision.cpp index 9adad26..83ad33d 100644 --- a/src/components/map_collision.cpp +++ b/src/components/map_collision.cpp | |||
| @@ -5,10 +5,10 @@ | |||
| 5 | 5 | ||
| 6 | MapCollisionComponent::MapCollisionComponent(const Map& map) : map(map) | 6 | MapCollisionComponent::MapCollisionComponent(const Map& map) : map(map) |
| 7 | { | 7 | { |
| 8 | addCollision(-6, 0, GAME_HEIGHT, Direction::left, collisionFromMoveType(map.getLeftMoveType())); | 8 | addCollision(-6, 0, GAME_HEIGHT, Direction::left, collisionFromMoveType(map.getAdjacent(Map::MoveDir::Left).type)); |
| 9 | addCollision(GAME_WIDTH+6, 0, GAME_HEIGHT, Direction::right, collisionFromMoveType(map.getRightMoveType())); | 9 | addCollision(GAME_WIDTH+6, 0, GAME_HEIGHT, Direction::right, collisionFromMoveType(map.getAdjacent(Map::MoveDir::Right).type)); |
| 10 | addCollision(-7, 0, GAME_WIDTH, Direction::up, collisionFromMoveType(map.getUpMoveType())); | 10 | addCollision(-7, 0, GAME_WIDTH, Direction::up, collisionFromMoveType(map.getAdjacent(Map::MoveDir::Up).type)); |
| 11 | addCollision(GAME_HEIGHT+6, 0, GAME_WIDTH, Direction::down, collisionFromMoveType(map.getDownMoveType())); | 11 | addCollision(GAME_HEIGHT+6, 0, GAME_WIDTH, Direction::down, collisionFromMoveType(map.getAdjacent(Map::MoveDir::Down).type)); |
| 12 | 12 | ||
| 13 | for (int i=0; i<MAP_WIDTH*MAP_HEIGHT; i++) | 13 | for (int i=0; i<MAP_WIDTH*MAP_HEIGHT; i++) |
| 14 | { | 14 | { |
| @@ -189,16 +189,16 @@ void MapCollisionComponent::processCollision(Game& game, Entity& collider, Colli | |||
| 189 | { | 189 | { |
| 190 | if (dir == Direction::left) | 190 | if (dir == Direction::left) |
| 191 | { | 191 | { |
| 192 | game.loadMap(game.getMap(map.getLeftMapID()), std::make_pair(GAME_WIDTH-collider.size.first/2, old_position.second)); | 192 | game.loadMap(game.getWorld().getMap(map.getAdjacent(Map::MoveDir::Left).map), std::make_pair(GAME_WIDTH-collider.size.first/2, old_position.second)); |
| 193 | } else if (dir == Direction::right) | 193 | } else if (dir == Direction::right) |
| 194 | { | 194 | { |
| 195 | game.loadMap(game.getMap(map.getRightMapID()), std::make_pair(-collider.size.first/2, old_position.second)); | 195 | game.loadMap(game.getWorld().getMap(map.getAdjacent(Map::MoveDir::Right).map), std::make_pair(-collider.size.first/2, old_position.second)); |
| 196 | } else if (dir == Direction::up) | 196 | } else if (dir == Direction::up) |
| 197 | { | 197 | { |
| 198 | game.loadMap(game.getMap(map.getUpMapID()), std::make_pair(old_position.first, GAME_HEIGHT-collider.size.second/2)); | 198 | game.loadMap(game.getWorld().getMap(map.getAdjacent(Map::MoveDir::Up).map), std::make_pair(old_position.first, GAME_HEIGHT-collider.size.second/2)); |
| 199 | } else if (dir == Direction::down) | 199 | } else if (dir == Direction::down) |
| 200 | { | 200 | { |
| 201 | game.loadMap(game.getMap(map.getDownMapID()), std::make_pair(old_position.first, -collider.size.second/2)); | 201 | game.loadMap(game.getWorld().getMap(map.getAdjacent(Map::MoveDir::Down).map), std::make_pair(old_position.first, -collider.size.second/2)); |
| 202 | } | 202 | } |
| 203 | } else if (collision.type == Collision::Type::reverse) | 203 | } else if (collision.type == Collision::Type::reverse) |
| 204 | { | 204 | { |
