0x00469E07, 0x00468949, 0x004C4DAD, 0x0042D5E5, 0x0049434F
| 443 | |
| 444 | // 0x00469E07, 0x00468949, 0x004C4DAD, 0x0042D5E5, 0x0049434F |
| 445 | static ClearFuncResult tileClearFunction(World::TileElement& el, const World::Pos2 pos, RemovedBuildings& removedBuildings, const uint8_t flags, currency32_t& cost, bool defaultCollision) |
| 446 | { |
| 447 | switch (el.type()) |
| 448 | { |
| 449 | case ElementType::surface: |
| 450 | return ClearFuncResult::noCollision; |
| 451 | case ElementType::tree: |
| 452 | { |
| 453 | auto* elTree = el.as<TreeElement>(); |
| 454 | if (elTree == nullptr) |
| 455 | { |
| 456 | return ClearFuncResult::noCollision; |
| 457 | } |
| 458 | return clearTreeCollision(*elTree, pos, flags, cost); |
| 459 | } |
| 460 | case ElementType::building: |
| 461 | { |
| 462 | auto* elBuilding = el.as<BuildingElement>(); |
| 463 | if (elBuilding == nullptr) |
| 464 | { |
| 465 | return ClearFuncResult::noCollision; |
| 466 | } |
| 467 | return clearBuildingCollision(*elBuilding, pos, removedBuildings, flags, cost); |
| 468 | } |
| 469 | default: |
| 470 | return defaultCollision ? ClearFuncResult::collision : ClearFuncResult::noCollision; |
| 471 | } |
| 472 | }; |
| 473 | |
| 474 | ClearFuncResult clearWithDefaultCollision(World::TileElement& el, const World::Pos2 pos, RemovedBuildings& removedBuildings, const uint8_t flags, currency32_t& cost) |
| 475 | { |
no test coverage detected