From 2aae1a18f9bb286a202def5b91d181a6821b0f2d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 17 Jun 2019 11:14:39 +0800 Subject: [PATCH] 1 --- server/gameserver/mapservice.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/gameserver/mapservice.cc b/server/gameserver/mapservice.cc index 945b8b6..0ce713e 100644 --- a/server/gameserver/mapservice.cc +++ b/server/gameserver/mapservice.cc @@ -101,12 +101,18 @@ void MapService::AddCollider(ColliderComponent* collider) int max_grid_x = ceil(max_x / cell_width_) - 1; int max_grid_y = ceil(max_y / cell_width_) - 1; #endif - if (min_grid_x < 0 || max_grid_x >= map_width_) { + if (min_grid_x < 0) { abort(); } - if (min_grid_y < 0 || max_grid_y >= map_height_) { + if (max_grid_x >= map_width_) { + max_grid_x = map_width_ - 1; + } + if (min_grid_y < 0) { abort(); } + if (max_grid_y >= map_height_) { + max_grid_y = map_height_ - 1; + } for (int x = min_grid_x; x <= max_grid_x; ++x) { for (int y = min_grid_y; y <= max_grid_y; ++y) { int grid_id = x + y * map_width_;