MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / canDoorBeOnTile

Method canDoorBeOnTile

source/traps/TrapDoor.cpp:385–412  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

383}
384
385bool TrapDoor::canDoorBeOnTile(GameMap* gameMap, Tile* tile)
386{
387 // We check if the tile is suitable. It can only be built on 2 full tiles
388 Tile* tileW = gameMap->getTile(tile->getX() - 1, tile->getY());
389 Tile* tileE = gameMap->getTile(tile->getX() + 1, tile->getY());
390
391 if((tileW != nullptr) &&
392 (tileE != nullptr) &&
393 tileW->isFullTile() &&
394 tileE->isFullTile())
395 {
396 // Ok
397 return true;
398 }
399
400 Tile* tileS = gameMap->getTile(tile->getX(), tile->getY() - 1);
401 Tile* tileN = gameMap->getTile(tile->getX(), tile->getY() + 1);
402 if((tileS != nullptr) &&
403 (tileN != nullptr) &&
404 tileS->isFullTile() &&
405 tileN->isFullTile())
406 {
407 // Ok
408 return true;
409 }
410
411 return false;
412}
413
414bool TrapDoor::permitsVision(Tile* tile)
415{

Callers

nothing calls this directly

Calls 4

isFullTileMethod · 0.80
getTileMethod · 0.45
getXMethod · 0.45
getYMethod · 0.45

Tested by

no test coverage detected