| 261 | } |
| 262 | |
| 263 | bool 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 | |
| 293 | int RoomTreasury::getTotalGoldStorage() const |
| 294 | { |
nothing calls this directly
no test coverage detected