diff --git a/server/gameserver/entity.cc b/server/gameserver/entity.cc index 6ac7fb4..15f0dd6 100644 --- a/server/gameserver/entity.cc +++ b/server/gameserver/entity.cc @@ -107,7 +107,7 @@ void Entity::BroadcastFullState(Room* room) void Entity::BroadcastDeleteState(Room* room) { - #if 1 + #if 0 room->TouchHumanList ( a8::XParams(), @@ -132,6 +132,16 @@ void Entity::BroadcastDeleteState(Room* room) void Entity::RemoveFromAroundPlayers(Room* room) { + #if 1 + room->TouchHumanList + ( + a8::XParams(), + [this] (Human* hum, a8::XParams& param) -> bool + { + hum->RemovePartObjects(this); + return true; + }); + #else std::set tmp_grids; room->grid_service->GetAllCells(room, grid_id_, tmp_grids); room->grid_service->TouchAllLayerHumanList @@ -142,6 +152,7 @@ void Entity::RemoveFromAroundPlayers(Room* room) { hum->RemovePartObjects(this); }); + #endif } void Entity::AddEntityCollider(ColliderComponent* collider)