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

Method restoreInitialEntityState

source/rooms/RoomDungeonTemple.cpp:221–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219}
220
221void RoomDungeonTemple::restoreInitialEntityState()
222{
223 // We need to use seats with vision before calling Room::restoreInitialEntityState
224 // because it will empty the list
225 if(mTempleObject == nullptr)
226 {
227 OD_LOG_ERR("roomDungeonTemple=" + getName());
228 return;
229 }
230
231 Tile* tileTempleObject = mTempleObject->getPositionTile();
232 if(tileTempleObject == nullptr)
233 {
234 OD_LOG_ERR("roomDungeonTemple=" + getName() + ", mTempleObject=" + mTempleObject->getName());
235 return;
236 }
237 TileData* tileData = mTileData[tileTempleObject];
238 if(tileData == nullptr)
239 {
240 OD_LOG_ERR("roomDungeonTemple=" + getName() + ", tile=" + Tile::displayAsString(tileTempleObject));
241 return;
242 }
243
244 if(!tileData->mSeatsVision.empty())
245 mTempleObject->notifySeatsWithVision(tileData->mSeatsVision);
246
247 // If there are no covered tile, the temple object is not working
248 if(numCoveredTiles() == 0)
249 mTempleObject->notifyRemoveAsked();
250
251 Room::restoreInitialEntityState();
252}

Callers

nothing calls this directly

Calls 3

getPositionTileMethod · 0.80
notifySeatsWithVisionMethod · 0.45
notifyRemoveAskedMethod · 0.45

Tested by

no test coverage detected