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

Method removeCoveredTile

source/rooms/RoomTreasury.cpp:263–291  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

261}
262
263bool RoomTreasury::removeCoveredTile(Tile* t)
264{
265 // if the mesh has gold, we erase the mesh
266 RoomTreasuryTileData* roomTreasuryTileData = static_cast<RoomTreasuryTileData*>(mTileData[t]);
267
268 if(!roomTreasuryTileData->mMeshOfTile.empty())
269 removeBuildingObject(t);
270
271 if(roomTreasuryTileData->mGoldInTile > 0)
272 {
273 int value = roomTreasuryTileData->mGoldInTile;
274 if(value > 0)
275 {
276 OD_LOG_INF("Room " + getName()
277 + ", tile=" + Tile::displayAsString(t) + " releases gold amount = "
278 + Helper::toString(value));
279 TreasuryObject* obj = new TreasuryObject(getGameMap(), value);
280 obj->addToGameMap();
281 Ogre::Vector3 spawnPosition(static_cast<Ogre::Real>(t->getX()),
282 static_cast<Ogre::Real>(t->getY()), 0.0f);
283 obj->createMesh();
284 obj->setPosition(spawnPosition);
285 }
286 }
287
288 roomTreasuryTileData->mMeshOfTile.clear();
289 roomTreasuryTileData->mGoldInTile = 0;
290 return Room::removeCoveredTile(t);
291}
292
293int RoomTreasury::getTotalGoldStorage() const
294{

Callers

nothing calls this directly

Calls 7

createMeshMethod · 0.80
clearMethod · 0.80
toStringFunction · 0.50
addToGameMapMethod · 0.45
getXMethod · 0.45
getYMethod · 0.45
setPositionMethod · 0.45

Tested by

no test coverage detected