MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / findEntityAtTile

Method findEntityAtTile

source/game/StarEntityMap.cpp:248–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246}
247
248EntityPtr 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
263List<EntityPtr> EntityMap::entityLineQuery(Vec2F const& begin, Vec2F const& end, EntityFilter const& filter) const {
264 List<EntityPtr> values;

Callers 1

addWorldEntityCallbacksFunction · 0.45

Calls 4

filterFunction · 0.85
spacesMethod · 0.45
equalMethod · 0.45
tilePositionMethod · 0.45

Tested by

no test coverage detected