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

Method restoreInitialEntityState

source/traps/Trap.cpp:430–454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

428}
429
430void Trap::restoreInitialEntityState()
431{
432 // We restore the vision if we need to
433 for(std::pair<Tile* const, TileData*>& p : mTileData)
434 {
435 TrapTileData* trapTileData = static_cast<TrapTileData*>(p.second);
436 if(trapTileData->mSeatsVision.empty())
437 continue;
438
439 for(Seat* seat : p.second->mSeatsVision)
440 seat->setVisibleBuildingOnTile(this, p.first);
441
442 trapTileData->seatsSawTriggering(trapTileData->mSeatsVision);
443 TrapEntity* trapEntity = trapTileData->getTrapEntity();
444 if(trapEntity == nullptr)
445 {
446 OD_LOG_ERR("tile=" + Tile::displayAsString(p.first));
447 continue;
448 }
449
450 trapEntity->notifySeatsWithVision(trapTileData->mSeatsVision);
451 for(Seat* seat : trapTileData->mSeatsVision)
452 seat->setVisibleBuildingOnTile(this, p.first);
453 }
454}
455
456std::string Trap::getTrapStreamFormat()
457{

Callers 1

createAllEntitiesMethod · 0.45

Calls 4

seatsSawTriggeringMethod · 0.80
getTrapEntityMethod · 0.45
notifySeatsWithVisionMethod · 0.45

Tested by

no test coverage detected