| 246 | } |
| 247 | |
| 248 | EntityPtr EntityMap::findEntityAtTile(Vec2I const& pos, EntityFilterOf<TileEntity> const& filter) const { |
| 249 | RectF rect(Vec2F(pos[0], pos[1]), Vec2F(pos[0] + 1, pos[1] + 1)); |
| 250 | return findEntity(rect, [&](EntityPtr const& entity) { |
| 251 | if (auto tileEntity = as<TileEntity>(entity)) { |
| 252 | for (Vec2I space : tileEntity->spaces()) { |
| 253 | if (m_geometry.equal(pos, space + tileEntity->tilePosition())) { |
| 254 | if (filter(tileEntity)) |
| 255 | return true; |
| 256 | } |
| 257 | } |
| 258 | } |
| 259 | return false; |
| 260 | }); |
| 261 | } |
| 262 | |
| 263 | List<EntityPtr> EntityMap::entityLineQuery(Vec2F const& begin, Vec2F const& end, EntityFilter const& filter) const { |
| 264 | List<EntityPtr> values; |
no test coverage detected